git merge 和git pull 在使用过程中的区别?

发布于 2022-09-13 00:07:00 字数 495 浏览 22 评论 0

场景1:

 当我新建一个分支 git branch p1 
 然后 git checkout p1
 然后 git merge p   注释:p是另一个分支
 然后 git push origin p1
 此操作相当于新建一个分支,然后将p分支复制一份到p1分支,并完成远程推送
 
 

场景2:

 当我新建一个分支h,git checkout -b h  创建h分支并切换到h分支
 然后 git pull origin p         拉取远程p分支的代码到h分支
 
 然后 git push origin h      将h分支代码完成远程推送
 
 
两个操作看起来了差不多,但我发现操作一还是真正意义上将一个分支的代码完全复制到另一个新建的分支上,操作二会将dev最新的代码也推送到新建的分支,为什么会这样尼?
请问 git merge 和git pull 在使用过程中有什么区别和影响?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初见终念 2022-09-20 00:07:00

首先你要理解几个概念:工作区,暂存区,版本库,远程仓库
git pull 的意思是直接从远程仓库的分支拉取最新代码并merge到当前分支
比如你现在在 dev 分支,当你执行 git pull origin master 的时候,那么就相当于你先把远程仓库的master分支代码fetch到本地,并执行git merge origin/master(注意origin/master其实在你本地了)。

那么git merge pgit pull origin p 区别就是,如果你本地的p分支超前你远程仓库的p分支(也就是你本地p分支有新代码,但是没有push到远程), 那么你merge后的当前分支中的代码将比远程仓库分支的代码超前。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文