【发布时间】:2018-09-26 15:54:04
【问题描述】:
在git中,如果你有任何未提交的修改,你不能做git pull,给出以下错误:
错误:无法使用 rebase 拉取:您有未暂存的更改。
错误:请提交或隐藏它们。
但它适用于未跟踪的文件。我发现这非常烦人,每次我想要拉取时我都需要git stash,即使我的更改与被拉取的文件无关。
如果我的更改与拉取的更改不冲突,是否有任何解决方法允许拉取?我真的不明白为什么如果拉动不会破坏任何东西,它为什么不起作用。如果这是一个安全问题,那么为什么它适用于新文件?理论上,拉取可以引入相同路径的新文件。
有没有什么办法可以让它变得更简单?
【问题讨论】:
-
希望在您第一次尝试拉动时看到您的脸,并且与您在工作树上修改的文件发生冲突。换句话说,git 正在看着你,以免弄乱修改后的文件。
-
从 Git 2.6 开始的一个选项是使用
git fetch; git rebase --autostash(或设置git config rebase.autoStash true)在变基之前自动存储更改并在变基完成后弹出。如果与 pop 有任何冲突,您将留下未解决的冲突以及 rebase 之前名为autostash的存储;从那里您可以像往常一样解决冲突。