3

已经检查了这些问题:

我什么时候应该使用 git pull --rebase?

执行 rebase 后,Git 提交在同一分支中重复

`git pull --rebase` 什么时候会给我带来麻烦?

但我不明白的是,有些人说你应该总是git pull --rebase和其他人在拉动时将其设置为默认选项,而其他人则说这会造成问题。

我在 git log 中面临重复提交问题,我想这是因为--rebasing我们应该只在错误的时间,我知道和pull之间的区别是 git pull 试图合并本地和远程,而 git pull -- rebase 复制提交。git pullgit pull --rebase

场景:

  1. 当我开始我的工作并且在做任何新的事情之前我需要拉动其他开发人员的变化时,我应该使用git pull --rebase还是只使用git pull?为什么?
  2. 当我工作并提交并决定推送但随后 git 要求我先拉动时,我应该使用 git pull--rebase or git pull吗?为什么?
  3. 当我工作并提交时,工作并提交(循环)然后在我工作的中间我需要其他人的更改才能继续我的任务我应该git pull还是git pull --rebase?为什么?

谢谢

4

1 回答 1

2

git pull做两件事 - agit fetch后跟git merge. 如果您使用git pull --rebase,它会改为git fetch跟随git rebase. 要回答您的具体问题:

  1. 如果您没有在本地提交任何更改,那没关系。结果将是相同的。隐式git merge将是快进。

  2. 通常在这种情况下你会想要变基;您希望您的更改成为线性历史记录,而不是遥控器发生的事情。

  3. 通常你也会在这里变基。同样,您希望将本地工作添加到远程历史记录之上,而不是向其添加合并提交。

只需不在远程跟踪分支上工作,就可以避免所有这些混乱。

于 2013-09-06T04:09:02.673 回答