今天学习了git工作原理,就是add和commit的工作过程。
首先先明白两个概念:工作区 和 版本库(Repository)
工作区(Working Directory):就是可以在电脑上看到的目录,比如我建的readme.txt文件,就是一个工作区
版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
前面讲了把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
实战一下,我修改了readme.txt文本内容,又新建了一个test文件,使用[git status] 命令查看当前状态。
显示:
zyh@zyh-Lenovo-G405s:~/learngit$ git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <file>..." 更新要提交的内容)
(使用 "git checkout -- <file>..." 丢弃工作区的改动)
修改: readme.txt
未跟踪的文件:
(使用 "git add <file>..." 以包含要提交的内容)
test
修改尚未加入提交(使用 “git add” 和/或 “git commit -a”)
然后使用
git add readme.txt
git add test
把修改的 readme.txt 和 test文件添加到stage缓存区中
显示:
zyh@zyh-Lenovo-G405s:~/learngit$ git add readme.txt
zyh@zyh-Lenovo-G405s:~/learngit$ git add test
然后使用
git commit -m"understand how stage works" 命令
把stage缓存区中的内容提交到master分支中。
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:
显示:
zyh@zyh-Lenovo-G405s:~/learngit$ git status
位于分支 master
无文件要提交,干净的工作区
好了,现在基本上会把文件添加到分支上了,查找版本,并熟悉了一些常用命令。