您的位置:首页 > 编程语言

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

2018-03-08 14:18 405 查看
假定远端有一个工程: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 ssh tag 源代码
相关文章推荐