什么时候`git pull --rebase`让我陷入困境?

Gab*_*mbe 40 git pull rebase

据我所知,当我使用时git pull --rebase,git将重新编写历史记录并在我刚从中提取的分支中的所有提交之后移动我的本地提交.

我不明白的是这将是一件多么糟糕的事情.人们谈论陷入困境git pull --rebase,你最终会找到一个别人无法忍受的分支.但我不明白这是怎么回事,因为你所做的就是在你所从的分支上重播你当地的,尚未公开的提交.那么,那里的问题是什么?

Von*_*onC 25

如果您只发布(推送)了一些提交,那么这只是一个问题,因为它们将更难合并到已经提交过的其他repos.由于他们的SHA1已经改变,Git的将尝试重播他们再次对这些回购协议.

如果你还没有(再次推送任何提交),任何rebase应该是安全的.

所以这里的问题是:你确定你所做的所有本地提交实际上仍然是......本地的吗?
你确定' git pull --rebase'之后' git pull --rebase'?

如果您正在处理一个"私人分支"(一个您从未推送过的分支,但只在公共分支上合并或变基,您将推送的分支),那么您可以随时根据需要重新定义该私有分支.

最后,这一切都取决于您选择建立的合并工作流程.

  • 不一定安全,`git pull --rebase`实际上可能会失败,如果它失败,它会尝试重新设置. (2认同)

Joh*_*ham 5

致力于分支机构.推.合并到另一个分支(假设您正在维护两个基线,一个补丁分支和一个新开发分支).实现其他提交已被推送到您正在跟踪的服务器分支.拉 - 基地.突然你已经针对新哈希重新提交了每个提交 - 并破坏了合并提交.