为什么我不能 git pull 进行不相关的本地更改?

Rob*_*bok 5 git git-pull

git pull在git中,如果有任何未提交的修改则无法执行,出现以下错误:

错误:无法使用变基拉取:您有未暂存的更改。

错误:请提交或隐藏它们。

但它适用于未跟踪的文件。我发现这非常烦人,git stash每次我想要拉取时都需要这样做,即使我的更改与拉取的文件无关。

如果我的更改与拉取的更改不冲突,是否有任何解决方法允许拉取?我真的不明白为什么如果拉力不会破坏任何东西它就不起作用。如果这是一个安全问题,那么为什么它适用于新文件?理论上,拉取可以引入相同路径的新文件。

有什么解决方案可以让它变得更容易吗?

Mur*_*nik 5

您可以使用git pull --rebase --autostash。这本质上是存储您的本地更改,从远程获取,在其之上进行变基,然后在一个命令中弹出存储。

请注意,您还可以将这些标志配置为默认行为:

$ git config pull.rebase true
$ git config rebase.autoStash true
Run Code Online (Sandbox Code Playgroud)

但能力越大,责任越大,只有当您完全确定自己在做什么时才使用此选项。