git pull --rebase vs git rebase :有什么危险?

git pull --rebase vs git rebase : what's the danger?

我不明白 git pull --rebasegit rebase 之间的区别,没有任何其他选择。

我不明白它们是安全的、好的做法还是非常危险。

我可以通过在本地执行 git pull --rebase 来打破提交历史记录吗?

我完全不推荐变基,只推荐私有分支。 private 我的意思是你很确定只有你拉动的分支。

变基将分支的起点更改为某个较新的提交,从而将所有提交合并到该点。这可能会导致与在其存储库中拥有旧分支基础的人员发生合并冲突。我建议始终进行纯合并,仅在某些情况下(例如功能分支)保留变基。

关于您的问题:

  • git rebase rebase 你想要的分支。
  • git pull --rebase 在你拉取的分支中执行一个 fetch + rebase。通常拉会获取+合并。

git pull --rebasegit fetch 的 shorthand,然后是普通的 git rebase,而不是默认的 git merge。实际区别在于,仅应用后者不会 fetch 在将代码变基之前来自远程的任何新提交,因为它只会考虑本地存储库已经知道的内容。

还值得一提的是,合并冲突的出现方式与常规 git 拉取方式相同。