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



git pull和git rebase (3)

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

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

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

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

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

https://ffff65535.com

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

我不明白的是这将是一件多么糟糕的事情。 人们谈论用git pull --rebase来解决问题,你最终会得到一个其他人无法接受的分支。 但是我不明白这是怎么回事,因为你所做的就是在你所从的分支上重播你当地的,尚未公开的提交。 那么,那里的问题是什么?


如果没有人从你那里撤走,你还没有在其他任何地方推动你的提交(在rebase之前),那么理论上你没问题。 但是,Git旨在很好地处理合并,如果你使用pull和merge而不是pull和rebase,你可能会发现总体上工作量较少。


请记住,Git是一个分布式源代码控制系统。 人们不必从您正在推动的中央存储库中提取 - 在某些工作流程中,他们可以直接从您那里获取更改。 在这些情况下,重写您的历史肯定会导致您正在谈论的问题





pull