通过看廖老师的教程(看了两遍了),配上他的图(哈哈,挺形象的),再查了一下.git里面的结构,就比较清晰了。下面是我对git命令行学习的总结,里面有些话是加了我自己的理解的,可能有偏差,但是刚开始学习,先明白个大概,使用多了自然就明理了。
1、初始化仓库:git init (提示创建成功,文件下多了.git的文件,若没有,ls -a 命令行可见)。
2、添加文件:git add xxx (执行完之后,没有提示,说明add成功了,添加到了暂存区)。
3、提交文件:git commit -m "这是你对提交的内容的说明" (提示提交了什么,一般是先git add,然后再git commit。如果修改了直接commit,它会提示你没有)。
4、查看工作区状态:git status (如果修改了文件但未执行git add这个命令,会提示修改的文件未被提交到暂存区stage。 如果是git add之后执行,会提示修改已经被提交了。如果是git commit 之后执行,你也没有在工作区修改过任何文件,会提示你工作目录是干净的working tree clean)。
5、查看具体修改内容:git diff (会提示我们做了什么修改 , 这个可以和第4个命令git status 一起使用,先用git status查看状态,发现有改变,就用git diff查看修改具体内容是什么)。
6、查看提交的版本记录:git log 或者git log --pretty=oneline(这两个效果是一样的,只是展示的方式不同)。
7、查看提交和回退记录:git reflog (当你想回到指定版本,之前的或之后的都可以,git reflog能查看到你reset和commit的记录,并附带对应的版本号,如下图)。
8、回退上一个版本:git reset --hard HEAD^ 或者git reset --hard HEAD~1 或者 git reset --hard xxx (HEAD^表示上一个版本,HEAD^^表示上上个版本,以此类推。HEAD~数字,回退对应几个版本。xxx:表示版本号,回退到指定版本号)。
9、撤销修改:git checkout -- xxxx (xxxx:表示文件名,执行该命令会让工作区回归到最近一次commit或add的状态)。
10、暂存区回退上一个版本:git reset HEAD xxxx(xxxx表示文件名,暂存区会回退到上一个版本或说回退到版本库中最新版本)。
11、删除版本库文件:git rm xxxx (一般是先rm xxx,然后git rm,这两步的意思是把修改放到了暂存区,最后再git commit 一下,把修改提交到版本库,此时版本库就会把xxxx删除了。 如果直接git rm,它就相当于完成了rm xxx和git rm两步)。