Git3.创建版本库(Git仓库)&提交更新到仓库

创建版本库(Git仓库)

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

所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
第二步,通过  git init 命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in F:/GitProject/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个 .git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
注意:你将GitProject创建成了仓库,文件必须放在此文件夹内或者文件夹的子目录。Git才会找到你要添加的文件。


提交更新到仓库
请记住,你工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。
已跟踪的文件是指那些被纳入了 版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。
编辑过某些文件之后,由于自 上次提交后你对它们 做了修改,Git 将它们 标记为已修改文件。 我们逐步将这些 修改过的文件放入暂存区,然后提交所有暂存了的修改,如此反复。所以使用 Git 时文件的生命周期如下:

untracked(未追踪):此文件在文件夹中,但并没有加入git库,不参与版本控制。 通过”git add”,”git commit”可将它放入版本库。
unmodify(未修改):文件已经存在库中但是未修改,即版本库中的文件快照内容与文件夹中完全一致。当文件通过“git add”被添加到暂存区,然后执行“gti commit”将文件提交到版本库中,这个时候文件就处于未修改状态。
modified(已修改):文件已修改,仅仅是修改,并没有进行其它操作。也就是说只要你编辑了文件,Git就会标记为已修改。
staged(暂存):执行”git commit”则将修改同步到库中,这时库中的文件与本地文件又一致了,于是文件是unmodify状态。执行”git reset HEAD filenam”取消暂存,文件状态变为modified。


言归正传,现在我们编写一个 readme.txt文件,内容如下:
Git is a version control system.
Git is free software.
和把大象放到冰箱需要3步相比,把一个文件放到Git仓库只需要两步。

第一步,用命令 git add告诉Git,把文件添加到仓库:
$ git add readme.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
第二步,用命令 git commit告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt
注:自己练习的话cb926e7这个值是不一样的,因为此值是基于 Git 中文件的内容或目录结构计算出来。
简单解释一下 git commit命令, -m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),插入了两行内容(readme.txt有两行内容)。
为什么Git添加文件需要 addcommit一共两步呢?因为 commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值