我需要在本地和Git上处理file.txt
,但内容不同。 我希望Git不要告诉我该文件已被更改。
这种情况是可能的吗?
我需要在本地和Git上处理file.txt
,但内容不同。 我希望Git不要告诉我该文件已被更改。
这种情况是可能的吗?
实际上,你需要使用--skip-worktree
而不是--assume-unchanged
。 这里有一个很好的解释。
所以执行git update-index --skip-worktree file.txt
简而言之,--assume-unchanged
用于提高性能,适用于不会更改的文件(例如SDK);--skip-worktree
用于远程存在但您希望进行本地(未跟踪)更改的文件。
git update-index ...
);我们中有些人是真正的 Git 新手,我不得不阅读 @janos 的回答来补充你的 ;) - Nicolas Miari也许你希望在文件实际上已经改变的情况下“假装”它没有改变?你可以像这样做:
git update-index --assume-unchanged file.txt
要稍后撤消此操作:
git update-index --no-assume-unchanged file.txt
查看标记为此方式的文件列表:
git ls-files -v | grep '^[a-z]'
更新
正如评论所指出的,这很可能不是你想要做的事情。 更好的答案已经由@Tom Auger发布,请使用那个答案。
.gitignore
文件(因为它已经被提交到git中),考虑使用.git/info/exclude
。SOURCETREE 终端代码
添加忽略文件:
git update-index --skip-worktree index.php
git update-index --no-skip-worktree index.php
列出忽略的文件:
git ls-files . --ignored --exclude-standard --others