我克隆了有三个文件的远程存储库
file1.txt
file2.txt
file3.txt
我的机器本地更改为file3.txt。我不希望更改进入远程仓库,反之亦然。
我读到使用.gitignore时,无法忽略已经提交和跟踪的文件。
我决定使用.git / info / exclude文件和以下行
排除档案
file3.txt
但仍然在file3.txt中进行的更改显示为非暂存文件。我希望在提交和登台时忽略此file3.txt,还需要阻止file3.txt从远程仓库更新
提前感谢您提供任何帮助
答案 0 :(得分:7)
我读到使用.gitignore时,无法忽略已经提交和跟踪的文件。
是.gitignore
或.git/info/exclude
。
您只需要先删除该文件。
git rm --cached file3.txt
一旦删除(仅从缓存中删除,而不是从硬盘驱动器中删除),git status
就不应该显示它(因为它已经在.gitignore
中)
请参阅““git rm --cached x
” vs “git reset head — x
”?”:“cache”,也称为“index”或“staging area”,仅从索引中删除文件并将其保留在工作副本中。
file3.txt
将不再版本
一旦删除将被提交并推送,它将传播到其他克隆。
如果你只需要ignore the file locally一段时间,你可以尝试:
git update-index --assume-unchanged -- file3.txt
注意:根本不涉及.gitignore
。
要在本地停止忽略更改:
git update-index --no-assume-unchanged -- file3.txt
答案 1 :(得分:0)
编辑添加以下行的.gitignore文件: file3.txt