git pull --rebase命令具体是做什么的?

4

当我在主分支上运行命令

git pull --rebase会发生什么?

这会重写我的主分支历史吗?

这是一个好的拉取更改的方式吗,还是我们应该使用其他方法?

 1. Git fetch 
 2. Git merge

1
可能是重复的问题:git rebase vs git merge - Joe
rebase 确保了线性历史,与 merge 相反。当您想要一个更清晰的历史记录时,进行 rebase 是一个好主意。 - gravetii
1个回答

2
当你执行git pull --rebase时,会发生以下几件事情:
  1. git fetch origin master

    - 这里只是以origin/master为例。

  2. git rebase origin/master

    • 将你的所有提交移动到origin/master之后。
此时,你可以将代码推送到origin,并且你的提交将干净地应用在其他提交之上。
如果没有使用--rebase标志,则会产生一个合并提交,其中有两个父提交:你的主分支和origin/master上的工作。
以下是一些有用的资源:
  1. http://viget.com/extend/only-you-can-prevent-git-merge-commits
  2. http://gitready.com/advanced/2009/02/11/pull-with-rebase.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接