合并自己github中的两个项目

我两年多前曾经写过一篇《博客社会学图》的文章,把部分代码放在了github上。过了一年左右(一年前),我又新建了一个项目,在里面放了博客友情链接爬取的代码。

今天整理电脑上clone的两个项目的文件夹,强迫症又犯了,想要把两个项目合一,而且各自的commit神马的都要保留。于是就有了这篇文章。

先来两张合并前后的图:

before_merge
after_merge

具体步骤如下:

旧项目命名为leniy-old,新项目命名为leniy-new。目的是将leniy-new的内容添加到leniy-old中。

1、首先本地克隆旧项目:git clone https://github.com/leniy/leniy-old.git

2、把新项目添加到旧项目中:git remote add leniy-new https://github.com/leniy/leniy-new.git

3、验证一下:git remote -v

4、抓取新项目:git fetch leniy-new

5、合并新项目到本地克隆项目:git merge leniy-new/master

6、将本地克隆项目推动到旧项目:git push origin master

作者: Leniy

Do not , for one repulse , give up the purpose that you resolved to effect .

本文著作版权归Leniy所有,并受法律保护。

转载、使用整体或任何部分的内容(包含但不限于各个页面的标题、评论框提示语)须经过Leniy的授权。

CopyRight © 2006-2017 Leniy.org all rights reserved.

25 thoughts on “合并自己github中的两个项目

    • Leniy

      设计主题时,考虑了好久的。既不能有版权问题,又要有意境并配合主题的配色。

  1. whisperer

    合并项目,看起来很简单啊,以前还没遇到过这种需求。先 Mark~

    • Leniy

      一般有这种跨项目合并需求的挺少的。基本上都是同类项目的合并。

    • Leniy

      你是指博客的?我把源代码放在wordpress上了,可以自己下载。

  2. Yu

    若leniy-new ***github.com/leniy/leniy-new.git 这个repo只用一遍,其实后面若干步可以一个命令搞定的.cd leniy-oldgit pull ***github.com/leniy/leniy-new.git master”pull” 等价于fetch+merge

    • Leniy

      主机响应578ms,而且打开的也快,比我的好多了。

    • Leniy

      那么项目之间一些conflict文件如何处理?另外两个项目各自的commit可以保留么?leniy-new啥的,只是方便写博客特意改的名字。实际情况是,存在github的项目,2年前还活跃,之后没怎么提交过;同时公司电脑上的代码,经常性的提交commit到本地。我合并的是这两个项目。

    • Yu

      每次的commit都会保留,无论是pull还是merge,都是同样的操作.它会首先尝试auto resolve conflict, 若都可以自动解决,那就会自动加个commit,作为两个父亲的合并.否则提示有冲突,你需要自行resolve conflict,然后再git commit -a 确认.

    • Leniy

      那么我在old文件夹git pull new.git,就是把我old文件夹中的东西发布到new.git对应的项目中么?

    • Leniy

      额,pull等价于fetch+merge,应该是把网上的new拉过来合并到old中。

    • Yu

      其实在平时开发的时候,多人合作,每个人使用的未必是当前最新的版本,一般都是在某个check point上开个branch,调试完毕后merge回去.两个不同的repo合并其实也就相当于在开始的时候就开两个branch,然后分别写到一定的commit后merge一下而已.

    • Leniy

      原来如此。不过我电脑上这个版本,是新建的项目,仅仅当初代码复制的一样。项目名不一致,电脑上这个也没在github上创建过。

    • Yu

      它会按行分析区别,若从未在一起过,那么好像所有不一样的都会让你去resolve,你最好找个工具来解决它.eclipse,pycharm都有工具,我写C的话用kdiff3

    • Leniy

      晕,你这是回复的哪一条?前面的楼太高了,完全分不清

发表评论

电子邮件地址不会被公开。 必填项已用*标注