我有配置文件:conf/local.conf
我为它运行下一个命令:
git update-index --assume-unchanged local.conf
并且可以切换到另一个分支或拉动。
如何在分支之间保留--assume-unchanged
标志?
UPD
即将发生的一些例子:
$ git checkout 296-ToS-component
error: Your local changes to the following files would be overwritten by checkout:
conf/local.conf
Please commit your changes or stash them before you switch branches.
Aborting
$ git checkout -f 296-ToS-component
error: Entry 'conf/local.conf' not uptodate. Cannot merge.
我希望它可以作为下一个:
答案 0 :(得分:1)
不要使用--assume-unchanged
应该用于大型文件的性能问题而不会更改,并且在执行git status
时散列成本很高。
你想要的是--skip-worktree
做几乎相同的事情,但是处理你改变但不想提交的文件。
请参阅https://stackoverflow.com/a/13631525/717372
它可能(不确定,但是嘿!,那是你必须做的......)解决你的问题......
答案 1 :(得分:0)
删除假设未更改的位:
git update-index --no-assume-unchanged local.conf
保存:
git stash
切换分支:
git checkout 296-ToS-component
检索保存的版本:
git show stash@{0}:local.conf > local.conf
或将保存的版本与当前版本合并:
git stash apply
可能存在可以手动解决的冲突。
设置假设未更改位:
git update-index --assume-unchanged local.conf