git pull和rebase有什么区别?

时间:2013-08-13 20:30:03

标签: git

我试图了解git pull和rebase之间的区别,但在任何地方我都发现了merge和rebase之间的区别。

我理解merge和rebase之间的区别,但我担心pull和rebase如何不同both bring the latest changes from remote repositories to our local repository.

我说错了吗?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

  

将远程存储库中的最新更改带到本地存储库。

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

git merge vs git rebase

git fetch && git merge vs git fetch && git rebase

git pull vs git pull --rebase

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

答案 2 :(得分: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. 它还将为您执行代码的隐式合并(额外作业),当存在任何由您更改并提交并在存储库中更新的文件时,合并进入图片,然后在此case GIT尝试合并这些更改。如果无法成功合并这些更改,那么您将遇到一些必须手动解决的冲突。

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

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