情况:我有一个本地git存储库,它是远程存储库的克隆。假设存储库正在跟踪(以及其他)两个文件fileA
和fileB
。
克隆存储库后,我在本地修改fileA
和fileB
,但我从不暂停或提交这些更改。
最终,我需要在本地存储库上运行git checkout --force origin/master
以从远程存储库中获取最新版本。现在,我在本地所做的所有更改(在远程存储库中跟踪的文件上)都将被覆盖。
问题:如何配置本地存储库以始终保持对fileA
所做的更改,但覆盖fileB
?我基本上希望fileA
在本地被忽略,尽管它是远程存储库中的跟踪文件。
将fileA
添加到.gitignore
或.git/info/exclude
不起作用,可能是因为这两个文件只会阻止文件添加到跟踪中,而不会在索引中进行跟踪。< / p>
git rm --cache fileA
也不起作用,因为fileA
仍在origin
的索引中,因此在我结帐时会在本地覆盖。
tl; dr:我想指示git不要触摸我的存储库中的某些文件,即使它们是在远程存储库中被跟踪的。