git merge 和git pull 在使用过程中的区别?
场景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 在使用过程中有什么区别和影响?
回答:
首先你要理解几个概念:工作区,暂存区,版本库,远程仓库git pull
的意思是直接从远程仓库的分支拉取最新代码并merge到当前分支
比如你现在在 dev
分支,当你执行 git pull origin master
的时候,那么就相当于你先把远程仓库的master
分支代码fetch
到本地,并执行git merge origin/master
(注意origin/master
其实在你本地了)。
那么git merge p
和 git pull origin p
区别就是,如果你本地的p
分支超前你远程仓库的p
分支(也就是你本地p
分支有新代码,但是没有push
到远程), 那么你merge
后的当前分支中的代码将比远程仓库分支的代码超前。
以上是 git merge 和git pull 在使用过程中的区别? 的全部内容, 来源链接: utcz.com/p/935467.html