
[英]What is the difference between the rebase in git pull --rebase and git rebase <branchname>?
[英]What is the difference between git pull and rebase?
我试图理解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
vs git rebase
git fetch && git merge
vs git fetch && git rebase
git pull
vs 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 Rebase:另一边的GIT rebase将从远程获取所有最新更改,并将其应用到本地,然后将其倒带回原始状态,如果有任何提交,它将保留它们
如果您认为我的答案不正确或需要进行一些修改,请GIT专家随意投票,但是请不要忘记添加您的宝贵意见。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.