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

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

以上是 git merge 和git pull 在使用过程中的区别? 的全部内容, 来源链接: utcz.com/p/935467.html

回到顶部