我正在使用git代码库。我想更改服务器跟踪的项目xml文件。我想通过以下方式进行设置:
当前我使用
git update-index --assume-unchanged [my file name]
但是我不确定服务器更新它时会发生什么。
答案 0 :(得分:3)
从docs
--[no-]assume-unchanged
...当“假定未更改”位打开时,[this]允许Git假定工作树文件与索引中记录的文件匹配。如果要更改工作树文件,则需要取消设置该位以告知Git。
如果需要修改索引中的该文件,Git将失败(正常)。合并提交时; 因此,如果假定未跟踪的文件在上游进行了更改,则您将需要手动处理这种情况。
因此,您需要先git update-index --no-assume-unchanged
文件,然后再进行更改。
$ git status
Changes not staged for commit:
modified: some-file.txt
$ git update-index --assume-unchanged some-file.txt
$ git status
nothing to commit, working tree clean
$ git pull
a1b2c3d4..a4b3c2d1 master -> origin/master
Updating a1b2c3d4..a4b3c2d1
error: Your local changes to the following files would be overwritten by merge:
some-file.txt
Please commit your changes or stash them before you merge.
Aborting