我试图在我的.gitignore文件中添加一个错误日志,并且在读取的过程中,我必须在将文件添加到.gitignore之后专门取消该文件。不知何故,我结束了这样做:
git update-index --assume-unchanged Logs/Err.log
一切顺利,直到我切换到我的开发分支合并。我不能改变分支机构。我收到以下错误:
以下文件的本地更改将被checkout覆盖:Logs / Err.log
然而,当我从当前分支运行git status --s
时,我得到“没有提交,工作目录清理”
答案 0 :(得分:0)
根据我自己的经验,执行git update-index --assume-unchanged
仅适用于执行它的分支。它并没有真正改变底层索引的样子,它只会掩盖它在该分支上发生的操作。所以当你切换分支时,Git仍然会看到"脏文件。如果要切换分支,可以尝试以下操作:
git stash
或
git reset --hard HEAD
当然,您应该首先撤消update-index
:
git update-index --no-assume-unchanged Logs/Err.log
答案 1 :(得分:0)
我不确定这是"正确"回答,但这是我如何解决它(有帮助的是它只是一个几乎不重要的错误日志......)
git update-index --add Logs/Err.log
看起来很好。我现在可以添加Err.log,它会接收更改,因此分支会再次跟踪它。我将删除该文件,然后再次添加到.gitignore,一切都应该正常。
道德:
update-index
)