Git小技巧

Author Avatar
xiaoLit Created: Jul 22, 2019 Updated: May 15, 2020

意外Discard Changes

当你意外点击了这个选择,对于Git来说这是不可逆的,也就是丢失的代码,不能通过回滚等方式找回。但是对于文件来说我们可以利用其复原功能。
选择用“文本编辑器”方式打开文件。
复原到:

就可以在所有版本中找到我们之前不小心丢失的内容。

git取消文件跟踪

在使用git的时候,有些文件是不需要上传的,所以就可以修改.gitignore

例如:
如果是对所有文件都取消跟踪的话,就是

git rm -r --cached .   //不删除本地文件
git rm -r --f .   //删除本地文件

对某个文件取消跟踪

git rm --cached readme1.txt    删除readme1.txt的跟踪,并保留在本地。
git rm --f readme1.txt    删除readme1.txt的跟踪,并且删除本地文件。

然后git commit 即可。
但是git status查看状态时还是会列出来。
git init 的目录下建立.gitignore文件,git官方提供的有该文件,可以加以修改使用
https://github.com/github/gitignore

千万要注意:
如果你在创建.gitignore文件之前就已经push项目了,那么即时你在.gitignore文件中写入新的规则,这些规则也不会起作用。
有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

如果还是不行的话,只能手动把将想要取消追踪的文件移到项目目录外,并提交,然后将文件再移入项目中即可。