我有很多文件设置为
git update-index --assume-unchanged <file>
在某些情况下,我的分支搞砸了,并与 origin/master 分歧。比方说
and have 4 and 8 different commits each, respectively.
所以我想恢复我的所有提交并保持对 origin/master 的更新,同时保持我假设未更改的文件不被刷新。我怎样才能做到这一点?
我有很多文件设置为
git update-index --assume-unchanged <file>
在某些情况下,我的分支搞砸了,并与 origin/master 分歧。比方说
and have 4 and 8 different commits each, respectively.
所以我想恢复我的所有提交并保持对 origin/master 的更新,同时保持我假设未更改的文件不被刷新。我怎样才能做到这一点?
--assume-unchanged
您可以尝试使用 ,而不是--skip-worktree
使用git update-index
。
带有标志的文件git update-index --skip-worktree
应该抵抗 a git reset
(这将从索引中取消任何添加的更改)
您可以在此处查看和之间差异的完整分析--assume-unchanged
--skip-worktree
。
看起来
--skip-worktree
正在努力保存您的本地数据。但是,如果它是安全的,它不会阻止您获取上游更改。另外 git 不会在pull
.
但是忽略 'reset --hard
' 命令对于开发人员来说可能是一个令人讨厌的惊喜。