git 根据tag 创建新分支
git branch newbranch tag 根据tag创建新分支newbranch
git checkout newbranch 切换到newbranch
在新分支执行相关操作
示例
假设有2个仓库oldOrigin和newOrigin
oldOrigin: 当前仓库 newOrigin: 目标仓库
我们想把当前仓库【oldOrigin】的指定分支【a】
推给
另一个仓库【newOrigin】的指定分支【b】
具体步骤如下:
1、git pull # 在当前仓库操作:更新代码库
2、git remote # 查看当前仓库origin 只有一个,接下来我们要add 另一个仓库的origin
3、git remote add newOrigin branch1 # newOrigin:远程仓库名称,可以随便起个方便记忆的, 目的是在本地添加一个新的远程连接,branch1也是随便的
例如:
git remote add newOrigin branch1
newOrigin 后面的branch1 是newOrigin的一个分支,可以指定为master或你要push的目标分支,都可以。 执行完命令后可以再次通过 git remote 查看现在的有几个origin,大家可以自行试一试。
4、git remote set-url newOrigin xxxx.git # 这里是新加个远程连接 设置上目标仓库的url地址
例如(以下以gitee为例):
git remote set-url newOrigin https://gitee.com/greatoak/new.git
5、在A的本地仓库 git push newOrigin A仓库的a分支:B仓库的b分支 # newOrigin 是你想push上哪个远程库,A仓库的a分支是你想push那个分支(源头),B仓库的b分支 是push到远程的那个分支(目的地)。
例如:
最好是先切换到要push的当前分支上,然后再push
git checkout A仓库的a分支 # 切换到当前分支
git push newOrigin 源头分支a:目的地分支b # newOrigin是另一个仓库(目的地仓库)的orgin 含义是把当前分支a 推到 目标分支b上
注意:
5中命令可能会报错提示新的仓库没有更新,需要在当前分支上先同步目标分支,如果有冲突需解决冲突,之后就可以push了。例如:
! [rejected] a -> b (fetch first)
error: 推送一些引用到 'gitee.com:greatoak/new.git' 失败
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 'git pull ...')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。
使用 git pull newOrigin 目标分支 --allow-unrelated-histories 来同步代码
例如:
git checkout a
git pull newOrigin a --allow-unrelated-histories
若有收获,就点个赞吧