1、Git版本库介绍

每个Git版本控制系统的主机中,都可以包含若干个本地版本库,一般情况下一个本地版本库对应一个项目,用于对某个特定项目中的本地文件进行版本管理。其实,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除等操作Git都能跟踪到,以便任何时刻都可以追踪历史,或者在将来某个时刻可以进行“还原”。

Git中版本库又名仓库,英文名Repository,使用命令git init来创建并初始化一个本地版本库。

初始化后,在当前目录下会出现一个名为.git的目录,所有Git需要的数据和资源都存放在这个目录中。包括暂存区文件,版本记录文件,配置文件等。换句话说,如果你想从项目中删除Git的版本控制,但又要保留项目原文件,那么只需要将这个.git目录删除即可。这样话,这个项目就与Git没有任何关系。

2、创建本地版本库

在日常工作当中,创建Git本地版本库的场景有两种。

场景一:创建一个空的本地版本库。

介绍:

这种情况是项目还没有代码,需要先创建一个Git本地版本库的时候。

在你专门存放Git版本库的文件夹中,执行git init your_project(项目名),这个时候Git会在当前路径下,创建一个和项目名称同名的文件夹,这个文件夹就是一个Git的裸仓库,里面的会有一个隐藏的.git文件夹。

要进行开发的时候,只要进入到这个文件夹里面就可以了。

步骤:

直接用Git管理新建的项目

  1. 进入到Git本地版本库管理目录git-repository
  2. 查看目录内容。
  3. 执行$ git init your_project ,创建Git本地版本库。
  4. 查看Git本地版本库是否创建。
  5. 进入到刚刚创建的Git本地版本库。
  6. 查看Git本地版本库中的内容。
  7. 进入.git目录,进行查看。

演示:

说明

  • 当我们执行完$ git init first_git_repo命令之后,会出现下面一行提示。

    Initialized empty Git repository in J:/git-repository/first_git_repo/.git/

    意思是:初始化一个空的Git仓库,然后是仓库的路径。
  • .git目录:这个文件夹是Git的核心内容,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。这个文件夹以后我们会详细的讲解。
  • 后面显示(master)表示默认创建了master主分支。

提示:

  • 我们也可以在git-repository目录中,先通过mkdir first_git_repo,创建一个仓库目录,然后在进入这个目录中,执行git init命令,和上边是一样的,这里就不演示了。
  • 如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

场景二:项目中已存在文件时,创建该项目的本地版本库。

介绍:

这种情况就是在创建仓库之前,项目中已经有一些代码文件了。换种方式说,在本地创建Git仓库,把代码纳入到Git管理中,提交到 GitHub。

针对这种情况,我们只需要进入到已有的项目代码所在的文件夹,然后执行git init命令就可以了。

步骤:

把已有的项目文件的目录纳入Git管理

  1. second_git_repo目录是一个已有文件的项目目录。
  2. 进入second_git_repo目录,查看内容。
  3. 执行git init命令,把该目录纳入Git管理。
  4. 该目录纳入Git管理后,查看目录以有.git目录。
  5. 进入.git目录,进行查看。

演示:

以上就是Git在本地创建版本库常用的两种情况。

场景三:在GitHub网站上创建仓库,克隆到本地。

1、进入GitHub网站,点击右上角的加号,选择穿件仓库。

2、进入到创建Git仓库页面。

  • Public:公有的,就是大家谁都能看得到的仓库,也能下载你仓库中的代码。
  • Private:私有的,你可以选择让谁看到,需要花钱

其他的不用管直接点击创建(Create repository)。

3、查看创建的仓库,选择认证方式。

会有一个仓库列表,点击你刚刚创建的仓库。

https和ssh验证方式的区别
https基于用户名密码的验证方式。
SSh基于公钥私钥的验证方式(sshkey的方式),之前讲过。

4、克隆仓库到本地

进入到你想克隆的位置的文件夹中。

执行git clone + 远程仓库路径

查看git-repository-temp目录中,已经clone出GitHub上创建的仓库了。

进入clone到本地的项目TestNG中查看。

里边也有.git文件夹,说明也被Git管理。

以上就是三种创建Git的形式。

『现学现忘』Git基础 — 8、Git创建本地版本库的更多相关文章

  1. Git学习(1)-本地版本库的创建

    我用的是Git-2.14.3-64-bit版本,在windows64位上运行的,把软件分享下链接:http://pan.baidu.com/s/1jIoZ7Xc 密码:13q2. 安装及配置自行百度, ...

  2. 安装git,创建本地版本库

    安装 由于我使用的是Ubuntu,因此安装很简单,输入:sudo apt-get install git 如果是其他Linux版本,可以直接通过源码安装.先从Git官网下载源码,然后解压,依次输入:. ...

  3. Git创建本地版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  4. 『现学现忘』Docker基础 — 41、将本地镜像推送到阿里云

    目录 1.准备工作 2.阿里云容器镜像仓库的使用 (1)创建命名空间 (2)创建容器镜像 (3)查看阿里云镜像仓库的信息 3.将本地Docker镜像推送到阿里云 (1)登陆阿里云 (2)给镜像生成版本 ...

  5. 『现学现忘』Git基础 — 13、Git的基础操作

    目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 ...

  6. 『现学现忘』Git基础 — 18、Git对象的总结

    目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git ...

  7. 『现学现忘』Git对象 — 16、Tree对象详解

    目录 1.Tree对象介绍 2.Tree对象说明 (1)初始化一个新的本地版本库 (2)创建一个树对象(重点) (3)创建第二个文件(重点) (4)将第一个树对象加入暂存区,使其成为新的树对 3.总结 ...

  8. 『现学现忘』Git基础 — 21、git diff命令

    目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在comm ...

  9. 『现学现忘』Git基础 — 22、Git中文件重命名

    目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追 ...

随机推荐

  1. uoj310. 【UNR #2】黎明前的巧克力

    题目描述: uoj 题解: WTF. 看题解看了一个小时才看明白. 首先有状态$f[i][j]$表示前$i$个东西两人取,最后两人异或和为$j$的有多少方案. 转移为$f[i][j]=f[i-1][j ...

  2. 网络编程-Python的socket库

    一.网络连接经常用到的函数 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)参数一:地址簇 socket.AF_INET IPv4(默认) ...

  3. 查找bug的一些经验总结

    项目开发中遇到的bug解决经验总结 今天在项目开发中遇到了两个很难解决的bug,我把我的思路记录下来,以供之后遇到bug时,提供一些思路: 编译通过,但总结"core dumped" ...

  4. Future和FutureTask的区别

    java中有Future和FutureTask这两个类 Future是一个接口,代表可以取消的任务,并可以获得任务的执行结果 FutureTask 是基本的实现了Future和runnable接口  ...

  5. 解释JDBC抽象和DAO模块?

    通过使用JDBC抽象和DAO模块,保证数据库代码的简洁,并能避免数据库资源错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个统一的异常访问层.它还利用Spring的AOP 模块给Spr ...

  6. A5/web项目连接Oracle 12c数据库报:ORA-01017: 用户名/口令无效

    解决办法: 修改Oracle12c用户名密码,再改回来,就ok了,亲测有效.

  7. Error 和 Exception 有什么区别?

    Error 表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情 况下的一种严重问题:比如内存溢出,不可能指望程序能处理这样的情况: Exception 表示需要捕捉或者需要程序进行处理 ...

  8. innodb和myisam

    在Mysql数据库中,常用的引擎主要就是2个:Innodb和MyIASM.这篇文章将主要介绍这两个引擎,以及该如何去选择引擎,最后在提一下这2种引擎所使用的数据结构是什么. 首先介绍一下Innodb引 ...

  9. 用TLS/SSL保证EMQ的网络传输安全

    作为基于现代密码学公钥算法的安全协议,TLS/SSL能在计算机通讯网络上保证传输安全,EMQ的MQTT broker支持TLS,也可以用这种方式来确保传输安全. 参考官网:https://www.em ...

  10. MariaDB CTE公用表达式

    公用表达式(Common Table Expressions,简称CTE) Maria DB 版本为10.2.2以上的才支持 WITH 语法 CTE 介绍 WITH关键字表示公用表表达式(CTE) 它 ...