【发布时间】:2014-08-26 12:57:12
【问题描述】:
我,user1,在 github 有一个项目。另一个user2 创建了一个fork 并进行了三个提交:A B 和C。
我只想将提交 A 和 B 合并回我的项目中。
怎么做,我可以将历史记录保存在 github 的网络图中?
【问题讨论】:
标签: git github merge fork git-branch
我,user1,在 github 有一个项目。另一个user2 创建了一个fork 并进行了三个提交:A B 和C。
我只想将提交 A 和 B 合并回我的项目中。
怎么做,我可以将历史记录保存在 github 的网络图中?
【问题讨论】:
标签: git github merge fork git-branch
我建议使用 github pull request。
GIthub 拉取请求帮助:https://help.github.com/articles/using-pull-requests
怎么做?
简单:
从当前状态打开一个新分支
git checkout "COMMIT_B_ID"
这将导致 HEAD 分离
现在创建一个新的命名分支
git checkout "MY_B_BRANCH"
git push origin MY_B_BRANCH
现在 github 包含带有您更改的新分支。 去github打开一个pull reauest把新分支和master合并
通过这种方式(拉取请求),您可以看到并验证这正是需要提交的内容。
祝你好运。
【讨论】:
您可以添加对 fork 的远程引用,在 B 上创建一个分支,然后合并该分支(例如,master):
git remote add fork /url/of/fork
git fetch --all
git branch tmp fork/B
git checkout master
git merge tmp
我发现合并比using git cherry-pick 更干净。
OP Michał Sałaban 首选(在 the comments 中)使用以下命令创建分支:
git checkout B
git branch tmp
【讨论】:
git remote add fork /url/of/forkgit fetch --allgit checkout Bgit branch tmpgit checkout mastergit merge tmp