本篇继续讲解Git的一些常见使用和学习。弄明白如何进行快捷的提交代码,提交后的信息进行撤销和修改操作等。
我们知道,提交代码到git仓库时,会需要先进行git add
将内容提交到暂存区,然后再进行git commit
将暂存区的内容提交到本地仓库。最后再进行git push
将内容提交到远程仓库。
详情可以通过Git 基础-仓库文件的每次修改和操作流程介绍,明白工作副本的含义 (zinyan.com) 了解。
但是有时候这样每次修改后提交操作需要进行三次指令,会让人觉得太过繁琐。针对这种情况,Git提供了一个跳过使用暂存区的方法。
如果不想每次先进行add 添加后,再执行commit操作。
我们可以使用跳过暂存区域的方法,将commit和add 结合使用。
git commit -a -m '这是一个跳过暂存的示例,直接提交'
关键字就是: -a
添加该选项后,Git会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add
的步骤。
但是这个操作有一个前提:该文件已经被跟踪过
不适用于新创建的文件。适用于已经版本控制后,再次进行编辑修改的文件。
主要介绍在Git中删除文件的各种操作,或从Git中移除本地不删除等等。
我们直接删除文件后,通过git status
就会看到相关删除记录。示例如下:
Git 提示了两个建议:
git add
我们知道。将本次删除操作提交到暂存区。之后我们通过commit
就可以将该删除操作同步到仓库中了。
那么git rm
是用来干啥的呢?它是专门用来记录移除文件操作的,例如:
我们执行rm之后,再执行push 的话,就会出现:
没有要更新的。我们会发现远程仓库中该文件并没有被删除,但是我们本地已经进行了清理。而我们从远端拉取文件时,却不会拉取到我们删除的文件。
那是因为我们需要进行commit
之后才会将操作提交到远端。
我们移除文件的时还有一种情况,从Git仓库中删除,但是本地工作目录中保留,也就是说不想Git再记录该文件了。操作很简单,将该文件添加到.gitignore文件中就可以了。而通过命令操作主要是 --cached
指令。示例:
git rm --cached Libmppeg.so
该方式会将暂存区里面的记录给删除,但是不会影响本地存储。
当我们在工作目录下操作时,一旦执行了add命令后信息就被git进行了记录。而restore就是用来撤销add操作的。
它主要的功能为:将修改的内容,撤销更改回滚到上次提交之后的结果。
使用关键字如下:git restore
那么我们已经提交到add中的代码,部分有问题我们只想从暂存区撤销,但是工作区的文件不想更改,那么可以使用--staged
关键字。
示例:git restore --staged XXXX