Geo*_*son 14 git github pull-request
有人在github上向我的存储库提交了一组拉取请求.不幸的是,他们已经在几个拉取请求(每个文件一个)中完成了这个,而不是一次性提交所有文件的拉取请求.
在请求他将它们合并为一个 - 并且没有得到任何响应之后我现在尝试将这些拉取请求合并在Git Bash中 - 但运气不好 - 我很高兴使用合并按钮并通过Windows上的GitHub程序,但更多.我对git shell没有真正的了解 - 所以如果有人可以完成我如何将这些拉取请求合并在一起的过程(无论如何都没有冲突),我将非常感激.
she*_*ngy 16
假设您有3个拉动请求A,B,C,它们位于三个分支bA,bB,bC上.而你的主要分支是主人.
首先让他所有的分支到你的本地仓库而不合并它.
git fetch his-repo
所以现在你的回购可能有四个分支: master, bA, bB, bC
我将创建一个名为master的分支 f-merge-his-repo
git checkout master
这确保了f-merge-his-repo从master分支出来.
git checkout -b f-merge-his-repo
这会创建分支f-merge-his-repo并切换到它.
所以现在你正在使用f-merge-his-repo,使用以下命令:
git merge bA
git merge bB
git merge bC
如果有冲突你应该修复它(手动或使用mergetool),但正如你所说没有冲突,所以我们说bA bB and bC现在全部都在f-merge-his-repo
然后,只需简单地合并f-merge-his-repo到您的主分支
您应该首先切换到主分支.
git checkout master
然后合并f-merge-his-repo
git merge f-merge-his-repo
或者如果你喜欢没有快进合并
git merge --no-ff f-merge-his-repo
毕竟,删除这些分支.
git branch -d bA
git branch -d bB
git branch -d bC
git branch -d f-merge-his-repo
你真的应该看看pro-git 这里.这是一本简单的书,在你的日常工作中用git向你展示你需要的一切,相信我,一旦你习惯了git bash,你会发现所有这些git GUI都很沮丧(除了查看日志,我用gitk来查看并分析日志)
最后提示:
一个很好的方式来记住git merge和git rebase像
合并将另一个分支合并到当前分支(当然,您可以命名两个分支,但默认语法是将分支合并到当前分支)
所以你应该总是切换到主分支并合并其他分支
git checkout master
git merge their-branch --no-ff
要么
git merge their-branch
而rebase是在另一个分支(通常是主分支)上重新定位你当前的分支
git checkout feature-branch
git rebase master
| 归档时间: |
|
| 查看次数: |
8991 次 |
| 最近记录: |