我想将更改添加到我的工作副本中,但是git不会让我,我得到与this question相同的错误:
Cannot rebase: Your index contains uncommitted changes.
Please commit or stash them.
我知道我可以提交然后合并,或者存储 - 然后拉 - 然后应用存储,但之前拉动会将更改合并到我的工作副本中,保留我的本地更改。它是无缝的,任何冲突都会标记为我在我的工作副本中解决,就像合并提交的更改一样。我发现这很方便,为什么这个行为改变了?我怎样才能让git再次表现得那样?
答案 0 :(得分:2)
无法改变
这意味着你不只是拉扯。你正在做pull --rebase
(或者,当Zeeker提及in the comments时,您已将git配置为始终执行pull --rebase
,例如通过git config pull.rebase true
)
如果您想自动隐藏(并重新申请)正在进行的工作,您可以检查是否适用(Git 2.0.1 +,2014年7月)a:
git config rebase.autostash true
查看详情
答案 1 :(得分:2)
您似乎已将git配置为始终执行git pull --rebase
。有多种配置会导致此行为。我将引用documentation:
如果您想让git pull始终使用--rebase而不是合并,请参阅git-config中的
pull.rebase
,branch.<name>.rebase
和branch.autosetuprebase
。
如果你希望git合并你的更改,而不是在你拉动时重新定义它们,你必须找到罪魁祸首配置并禁用它。
如果全局启用pull.rebase
配置,例如您可以使用以下命令禁用它:
git config --global --unset pull.rebase