如何将新代码合并到现有git存储库?

如何将新代码合并到现有git存储库?,git,merge,Git,Merge,我面临着以下问题:我开发了一个应用程序,一位不久前开发了我的应用程序的贡献者对代码做了一些更改,我希望将他的更改集成到我的git存储库中的我的应用程序中。然而,正如预期的那样,我也对我的代码做了一些更改,他使用了我的应用程序的旧版本 我从他那里得到的唯一东西就是一个zip文件,几乎与我的应用程序相同,并且完全没有在任何git存储库中进行跟踪,如果我可以避免的话,我认为逐文件查看更改不是一个好主意。我不介意手动合并/解决冲突(我肯定我必须这样做) 我该怎么做 谢谢。首先,我建议清理您的git工作副

我面临着以下问题:我开发了一个应用程序,一位不久前开发了我的应用程序的贡献者对代码做了一些更改,我希望将他的更改集成到我的git存储库中的我的应用程序中。然而,正如预期的那样,我也对我的代码做了一些更改,他使用了我的应用程序的旧版本

我从他那里得到的唯一东西就是一个zip文件,几乎与我的应用程序相同,并且完全没有在任何git存储库中进行跟踪,如果我可以避免的话,我认为逐文件查看更改不是一个好主意。我不介意手动合并/解决冲突(我肯定我必须这样做)

我该怎么做


谢谢。

首先,我建议清理您的
git
工作副本,
隐藏
提交
更改,直到您达到干净无更改状态(即使未推送)

您可以提取新文件并将其粘贴到git文件夹中,但需要确保每个文件都覆盖git目录中与其完全对应的文件

git
将理解更改并在您执行
diff
时进行标记,我认为最糟糕的情况是,如果他在每一行中都有无意义的更改,例如与原始副本不同的空格或制表符

然后,您可以启动一些好的
difftool
来指出这些更改,这样您就可以随时撤销或获取所需的更改


如果每件事都成功处理,你可以
git-add
git-commit
,如果一切都乱七八糟,你可以用
git-reset--hard-HEAD
删除跟踪的更改,用
git-clean-df[files | folders]
删除未跟踪的更改

你的解决方案运行良好且完美无瑕。使用“git difftool”和meld,我可以轻松地编辑复杂的内容并正确地集成分支。非常感谢。我也使用了meld,它非常简单但是很方便,很高兴事情为你解决了。