我需要有同一文件的两个不同版本 - 一个在本地机器上,另一个在服务器上(仓库)。
我已将该文件放入.gitignore
中,但现在每次推送时都会删除仓库中的文件。
如何防止删除仓库中的文件? 谢谢!
使用此标志将本地更改标记为未更改,以便git不会跟踪任何更改,包括文件删除。
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
当使用此标志时,路径记录的对象名称不会更新。
相反,此选项为路径设置/取消“假定未更改”位。当“假定未更改”位打开时,用户承诺不更改文件,并允许Git假设工作树文件与索引中记录的内容相匹配。如果您想更改工作树文件,则需要取消该位以告诉Git。在使用具有非常缓慢的lstat(2)系统调用(例如cifs)的文件系统上处理大型项目时,这通常很有帮助。
如果Git需要修改索引中的此文件(例如在合并提交时),Git将失败(优雅地);因此,在上游更改了假定未跟踪的文件的情况下,您需要手动处理该情况。