如何限制git跟踪/更新本地更改?

时间:2018-04-21 10:56:37

标签: javascript git github gitignore

所以,我学习了git函数,但是无法在文件README.md中从git branch update执行文件.gitignore

我在.gitignore中编写了下一个,但在推送服务器时没有帮助。

// .gitignore
# readme
README.md
LICENSE

1 个答案:

答案 0 :(得分:9)

您缺少一些重要信息。只要将文件添加到暂存区域,git就会跟踪文件。一旦他们提交,他们甚至会被添加跟踪到.gitignore,因为您的README已添加到git中,因此git会跟踪对此进行的更改文件。

所以将其添加到您.gitignore中已经不会有效,因为从现在起它将被git跟踪。

如何告诉git忽略本地更改?

您可以使用assume-unchanged

assume-unchanged

// Mark local fule so git will not detect local changes
git update-index --assume-unchanged <file>

// To get a list of dir's/files that are marked as assume-unchanged
git ls-files -v|grep '^h'

// To un-mark files
git update-index --no-assume-unchanged <file>

添加assume-unchanged别名

git config --global alias.hide "update-index --assume-unchanged"
git config --global alias.show "update-index --no-assume-unchanged"
git config --global alias.list-unchanged "ls-files -v|grep '^h'"

现在,您的.gitconfig应该包含以下别名:

[alias]
    hide = update-index --assume-unchanged
    unhide = update-index --no-assume-unchanged
    list-unchanged = ls-files -v|grep '^h'

用法:

git hide myfile.ext
git unhide myfile.ext

如果您使用SourceTree,则添加自定义操作: enter image description here

enter image description here enter image description here