git学习篇之文件操作
忽略文件
有些文件不必提交到版本库中,如可执行文件,日志文件,临时文件,库文件,在工作目录下手动创建.gitignore文件,如以下所示我们忽略.bin文件的提交
从下图可以看出我们.bin文件就被忽略,检查不到.bin的变化,但是.o,.a文件没有被忽略所以能够看到变化
下面我们把.o,.a文件给忽略掉
再次查看git状态,可以看出.a,.o文件已经被忽略
下图是忽略匹配规则
撤销修改
在版本提交的过程中我们可能会做出错误的修改,提交到版本库中
撤销工作区的修改
对工作区的readme进行修改
可以看出我们的readme文件做出了改动,如果我们想返回修改前的状态,可以使用git checkout命令
从上图看出我们的修改就被撤回了,特别注意的是若文件还没添加到暂存区中,撤销后和版本库一样,下面演示下
首先往readme中加入1111111111后提交到暂存区
接着修改readme的内容但是不添加到暂存区
撤销后不会改变暂存区内容只是将工作区的内容清空
撤销暂存区的内容
上面就把暂存区的修改给撤销掉了,重新撤回工作区
撤销版本库的提交
先将readme提交到版本库中
可以看出我们撤回版本的提交到暂存区,版本库回退了一个版本,下面我们来演示下撤回版本到工作区
上图可以看出我们把提交撤回到工作区,我们可以对他进行修改然后重新提交
使用–hard参数可以回退到最起始的地方
差异比较
我们通过git diff + 参数比较工作区,暂存区和版本库之间的差异
从上图可以看出我们可以通过git diff比较工作区和暂存区之间的差异,红色表示被修改
上面我们将readme加入暂存区,然后比较暂存区和版本库之间的差别,命令后面隐藏的HEAD参数指向当前提交的commit,所以可以比较版本库和暂存区之间的差别
也可以加上commit码比较不同版本之间的差异,当然也可以通过git diff [commit 码1] [commit 码2]比较两个版本之间的差异
可以通过git diff HEAD命令比较工作区和版本库之间的差别,很明显添加了1111111,2222222