我是 GitHub 的新手,所以请原谅我的愚蠢问题。 我在 GitHub 上有一个存储库,有 2 个贡献者(一个是我,另一个是 X)。 我已经将一些代码推送到存储库中,其中包含 5 个文件(a、b、c、d、e)。 现在我们(X 和我)都下载了该代码并对其进行了修改。
X 修改了文件 a、b 和 c,并添加了一个新文件 f,她提交并推送了更改。
同时,我修改了文件a并添加了新文件g。
现在我想手动更改 a 中的代码,但我希望拥有包含文件的存储库,
a(通过 merge 我和 X 的更改手动更新)、b(由 X 更新)、c(由 X 更新)、d、e、f(由 X 添加)、g(由我添加)。
我希望我的问题很清楚。 一切都在主分支中。 请告诉我要采取什么步骤。 谢谢。
最佳答案
如果到目前为止您的更改仅是本地的,而她的更改位于远程存储库上,则需要将她的更改 pull 到本地克隆中,然后 merge 更改(手动或自动),然后提交,然后推送清理的内容存储库到远程服务器。
对于任何在公共(public)存储库上进行协作的人来说,这是一个标准工作流程。
因此,首先执行 git pull
- 这应该尝试自动将远程更改 merge 到本地主分支中。然后使用文本编辑器修复任何 merge 冲突。
完成后,提交本地更改并按照说明进行操作 - Git 打印相当多的注释(例如如何中止/继续 merge )。
清理完所有内容后,将更改推送到远程存储库:git push origin master
。
从长远来看,您可能应该开始考虑在您的工作中使用功能分支。每个人都在自己的分支上工作,只有在功能完成后才会 merge 到 master
中。这是一个很好的教程,比较了一些流行的 Git 工作流程,包括如何 merge 传入的更改,就像您的情况一样:https://www.atlassian.com/git/tutorials/comparing-workflows
关于git - merge github上不同作者的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31066103/