git pull --rebase 和 git rebase <branchname> 中的 rebase 有什么区别?

What is the difference between the rebase in git pull --rebase and git rebase <branchname>?

我被教导在开始我在任何分支上的工作之前对我的 repo 进行变基。但我很困惑 git pull --rebasegit rebase <branch> 。两者有什么区别?

完全按照命令的建议,拉动 变基,并使用当前分支的默认上游。另一个只做rebase,使用指定分支(不一定是当前分支的上游)。

这意味着第一个从上游获取所有新提交,然后回滚本地提交,快进到上游头部,然后重新应用本地提交。

第二个不获取任何内容,它将当前分支变基到指定分支之上,而不检查该分支是否已更新。

git help rebasegit help pull 文档对这些描述得很好,你应该阅读它们。