git把一个工程的某一个tag对应的源代码转移到另外一个工程

Posted 岬淢箫声

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git把一个工程的某一个tag对应的源代码转移到另外一个工程相关的知识,希望对你有一定的参考价值。

假定远端有一个工程:http://github.com/zhtqs/test1.git有一个tag名为v20180308,任务是转移此tag的源代码到:ssh://test@192.168.4.3:29418/test1.git,转移操作命令行如下:

mkdir test1 & cd test1
git init
git remote add origin http://github.com/zhtqs/test1.git
git fetch origin v20180308
git tag v20180308 FETCH_HEAD
git checkout -b v20180308 v20180308
git remote set-url origin ssh://test@192.168.4.3:29418/test1.git
git push --set-upstream origin v20180308

下面要做的是把分支v20180308与master合并了。建议使用GUI工具合并,因为GUI解决合并冲突在操作上的便利性好于命令行工具。如果用户目的是完整的使用本次转移得到的全部代码,那么可运行命令行合并:

git checkout -b master
git branch --set-upstream-to=origin/master master
git pull -f --allow-unrelated-histories
git add -A
git commit -m "merged"
git push

如果转移目标的git工程在服务端是一个空的工程,那么转移工作可以一步到位,命令行如下:

mkdir test1 & cd test1
git init
git remote add origin http://github.com/zhtqs/test1.git
git fetch origin v20180308
git tag v20180308 FETCH_HEAD
git checkout -b master v20180308
git remote set-url --push origin ssh://test@192.168.4.3:29418/test1.git
git push -u origin master

限定历史记录数量的方法是在git fetch 命令行加入参数:–depth=1

以上是关于git把一个工程的某一个tag对应的源代码转移到另外一个工程的主要内容,如果未能解决你的问题,请参考以下文章

sh Git将回购转移到另一个

Git,将开发从一个分支转移到另一个分支

如何将Git存储库转移到另一个主分支

git将某分支的某次提交合并到另一分支

Scratch编程小秘笈01:复制代码

转移wordpress到另一台主机