我试图理解git pull和rebase之间的区别,但在任何地方我都能找到merge和rebase的区别。
我理解merge和rebase之间的区别,但我担心pull和rebase作为both bring the latest changes from remote repositories to our local repository.
的区别
我说得对吗?
git pull
是两个git
命令的包装器:git fetch
后跟git merge
或git rebase
(带有--rebase选项)。
这是一个方便的命令,因此您可以获取最新的更改,而不必命名远程跟踪分支来使用pull
或rebase
引入新的更改。
两者都将最新的更改从远程存储库带到我们的本地存储库。
这是不对的。git rebase
将不会连接到远程存储库。如果你想进行比较,以下是合理的:
git merge
与git rebase
git fetch && git merge
与git fetch && git rebase
git pull
与git pull --rebase
(后两行用于比较相同的功能)。
我是GIT的新手,也在努力理解这些术语的意义,所以想把我的2位添加到它中。
GIT PULL:我从git pull中了解到,它有点聪明,并试图为你做一些额外的工作。因此,假设您在本地存储库中进行了一些更改并提交了这些更改,那么在执行git pull命令之后,它将执行两件事
git pull origin Dev-1.0 // Dev-1.0 is my remote branch
它将从远程带来所有最新的更改,并通过调用
git fetch
更新本地。它还将为您进行代码的隐式合并(额外工作),当存在任何由您更改、提交并在存储库中更新的文件时,合并就会出现,然后在这种情况下,GIT尝试合并这些更改。如果它无法成功合并这些更改,那么您将遇到一些必须手动解决的冲突。
GIT回扣:另一边的GIT重基准将从远程带来所有最新的更改,并将其应用于本地,然后将其倒回原始状态,如果您有任何提交,则它将把它们放在旁边
GIT专家,如果你认为我的答案不正确或需要修改,请随时投反对票,但请不要忘记添加你的宝贵意见。