0

I was trying to understand the difference between the git pull and rebase, but everywhere I am finding the difference between merge and rebase.

I understand the difference between merge and rebase , but I am worried about how pull and rebase are different as both bring the latest changes from remote repositories to our local repository.

Am I correct?

4

3 回答 3

1

git pull是两个git命令的包装器:git fetch后跟git mergegit rebase(使用 --rebase 选项)。

这是一个方便的命令,因此您可以获取最新的更改,而不必命名远程跟踪分支以使用pull或引入新的更改rebase

于 2013-08-13T20:35:35.123 回答
1

两者都将远程存储库的最新更改带到我们的本地存储库。

这是不正确的。git rebase不会连接到远程存储库。如果要进行比较,以下是合理的:

git merge对比git rebase

git fetch && git merge对比git fetch && git rebase

git pull对比git pull --rebase

(后两行是比较相同的功能)。

于 2013-08-13T21:54:02.723 回答
0

我是 GIT 的新手,也试图理解这些术语的意义,所以想在其中添加我的 2 位。

GIT PULL: 我从 git pull 中了解到,它有点聪明,并试图为你做一些额外的工作。因此,假设您在本地存储库中进行了一些更改并提交了它们,那么现在当您执行 git pull 命令时,它将做两件事

  git pull origin Dev-1.0 // Dev-1.0 is my remote branch
  1. 它将从远程带来所有最新更改,并通过调用来更新您的本地git fetch

  2. 它还将为您执行代码的隐式合并(额外工作),当存在您更改并提交并在存储库中更新的任何文件时,合并就会出现在图片中,然后在这种情况下,GIT 会尝试合并这些变化。如果它无法成功合并这些更改,那么您将遇到一些必须手动解决的冲突。

GIT Rebase : 另一端的 GIT rebase 将从远程带来所有最新更改并将其应用到您的本地并将其倒回到原始状态,如果您有任何提交,那么它将把它们放在一边

如果您认为我的回答不正确或需要进行一些修改,GIT 专家请随时投反对票,但请不要忘记添加您的宝贵意见。

于 2013-08-13T21:09:16.577 回答