git - merge github上不同作者的代码

标签 git github git-merge git-clone

我是 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/

相关文章:

git - 从公共(public) git 存储库中删除旧文件夹

git - 在 git merge 之后在 git log graph 中保留分支的提交历史

git - 从 master merge 后压缩功能分支提交

github - Github Graphql筛选器里程碑问题

Git 从 pull 请求中删除不需要的提交

api - 是否可以在 GitHub 中定义问题编号?

git - 如何挑选一系列提交并将它们 merge 到另一个分支中?

git cherry 采摘到不同的基本目录

git - 默认的 git core.askpass 配置值是多少?

git - 不使用 .gitconfig 设置 Git 用户名和电子邮件?