Git合并相同和外部修改的文件

ned*_*uma 3 git merge

我从开发人员那里继承了一些代码(来自zip文件)并且git初始化,进行了一些更改和一组签到.

现在,同一个开发人员用他的更改发布了相同的代码,并给了我另一个zip文件.

我如何合并我的更改,我有它我的git repo和他最近的更改从第二个zip文件内容?

理想情况下,我希望有一些代码可以解释我的更改和开发人员最近的更改.

我尝试从我的主分支创建分支b1并在其上应用第二个zip文件内容.将这些文件提交到分支机构并执行'git checkout master; git merge b1' - 但是,我没有得到我的更改,只有他在我的主分支中的更改.

Cas*_*bel 5

这听起来像你和你的另一个基于你在存储库中作为root提交的代码的工作.所以现在你有这个:

A - B - C - D (master)
Run Code Online (Sandbox Code Playgroud)

其他开发人员的工作也基于提交A.因此,提交它的适当位置是关闭的A.

首先在那里创建和签出一个分支:( git checkout -b his_work <SHA1 of A>或者在gitk中,只需右键单击提交并选择创建分支).

接下来,转储他的工作,并提交它.为了好,你可以这样做,git commit --author="His Name <his.email@somewhere>"以表明这是他的工作.

现在,检查你的master(git checkout master)并合并他的分支(git merge his_work).

你最终应该这样:

A - B - C - D - E (master)
 \             /
  X -----------
  (his_work)
Run Code Online (Sandbox Code Playgroud)

只是为了解释,这是你做的:

A - B - C - D      -      X (his_work)
         (master) ----> 
Run Code Online (Sandbox Code Playgroud)

你把他的工作交给你最近的工作,然后合并它; 合并是一个快进:因为master是你合并的分支的祖先,你只需将master转移到新的提交.