我,user1
,在github上有一个项目。另一个user2
创建了一个fork并进行了三次提交:A
B
和C
。
我想只将提交A
和B
合并回我的项目。
如何做到这一点,我可以将历史保存在github的网络图中?
答案 0 :(得分:1)
您可以向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
答案 1 :(得分:0)
我建议使用github pull请求。
GIthub pull请求帮助: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以将新分支与主分区合并
这种方式(Pull requsest)你可以看到并确认这正是需要提交的内容。
Godd Luck。