git仓库合并(向原有git仓库中加入新仓库)
git仓库合并(向原有git仓库中加入新仓库)
我经常写随笔,有版本控制的参与会很方便,可有时候由于种种原因(比如网络不通等),我不能clone到本地,而我又要写新的随笔,写的过程中会有很多递交历史,我在合并到随笔文件夹的时候,也想得到递交历史。
现在模拟下这一场景:
1、建立文件夹essays,并添加随笔essay1.md; 2、建立tmp文件夹,添加新随笔essays2.md,添加内容,并完成多次递交;
现在的问题是,我不只是想要tmp文件夹下东西,它的递交历史我也想要;
步骤如下:
1、进入essays文件夹,添加远程分支并: git remote add tmp tmp/ 2、抓取远程分支数据到本地仓库: git fetch tmp 3、产生临时新分支: git checkout -b tmp tmp/master 4、切回master分支: git checkout master 5、将临时新分支合并到master分支: git merge tmp 6、删除临时分支: git branch -d tmp
合并后效果如下:
为了方便使用,我这里整理了下,写成python脚本,代码如下(gitReposMerge.py):
# ! /usr/bin/python import os dir1 = " essays " dir2 = " tmp " tmpBranchName = " tmp " execCommand = os.system strCmd1 = " cd %s && git remote add %s %s && git fetch %s \ && git checkout -b %s %s/master && git checkout master \ && git merge %s && git branch -d %s && cd .. " % (dir1,tmpBranchName,dir2, \ tmpBranchName,tmpBranchName,tmpBranchName,tmpBranchName,tmpBranchName,) print strCmd1 execCommand(strCmd1)
代码使用基于以下目录结构:
即:脚本和git仓库在同一个目录。
执行gitReposMerge.py脚本即可。
本示例的gist链接: https://gist.github.com/mike-zhang/5597980
E-Mail : Mike_Zhang@live.com
分类: python
标签: python , git
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于git仓库合并(向原有git仓库中加入新仓库)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did45694