Git本地分支内容上传到远程不同分支

需求背景

需要将本地 master 分支的内容上传到远程的 dev 分支。

解决方法

这种时候一般可分为两种情况,一种是 dev 分支在远程已经存在了,我们只需要把本地的内容 push 上去。另一种是 dev 分支在远程还没有被创建,我们需要在本地给远程创建 dev 分支,并把本地内容 push 上去。下面将分别进行描述。

  1. 远程 dev 分支已经存在
    (1)远程分支不一定能在本地被搜索到,当通过命令:$ git branch -a 查看不到远程 dev 分支时,可以通过命令:$ git fetch 进行刷新,然后再通过 $ git branch -a,就可以看到远程分支了。
    (2)通过命令:$ git branch -u origin/dev 将本地当前分支(目前为 master)与远程库 origin/dev 分支进行关联绑定,
    (3)通过命令:$ git push --set-upstream origin master 将本地 master 分支的内容上传到远程 dev 分支。由于两个分支不同名,–set-upstream 参数不可省略,当然可以通过命令: $ git config --global push.default upstream 将 push 的默认方式改为 upstream,这样以后 push 时就不用再输入参数–set-upstream。

  2. 远程 dev 分支还没有创建
    (1)这种情况可以在 push 的同时创建远程 dev 分支,并把本地 master 的内容上传上去。可通过命令:$ git push -u --set-upstream origin master:dev,表示把本地 master 分支提交到远程 dev 分支,第一次运行时加上参数-u,表示把本地 master 分支与远程 dev 分支关联起来,效果与$ git branch -u origin/dev一样。


原文链接:https://blog.csdn.net/bendaxi/article/details/112344728