not*_*bit 5 git github pull-request
我已将GitHub 存储库A浅克隆(分叉)到我自己的存储库B中。因此,B 没有提交历史记录。但是,存储库 A 中有一个未合并(打开)的拉取请求X,我想将其添加到 B,并且仍然将其显示为正确的合并拉取请求,但没有添加额外的分支和添加的提交历史记录。(X 基于分支Z上的存储库C中的特定提交Y。)
如何使用 CLI 中的 git 执行此操作?
考虑到合并拉取请求(来自 A)和选择提交看起来是等价的,我想应该有几种不同的方法来完成相同的任务。
我看过许多类似的问题,但它们并没有完全解决问题,因为它们通常涉及首先以各种方式获取所有提交,或者不完整。我看过:
事实上,我要求的是所谓的cherry picking提交。但是,由于我自己的浅层存储库和中的B原始提交的提交历史不同,因此可能不可能(?)让它看起来像“正确合并的拉取请求”,至少不是从 GitHub图表所示的意义上来看。(如果有人对此有其他解决方案,请评论。)YCNetwork
该过程已经有详细记录,在这种情况下,最简单的解决方案是:
git fetch git@github.com:<USERNAME>/<REPO-C> <BRANCH-Z> --no-tags
git cherry-pick <commit-Y>
git push origin master
Run Code Online (Sandbox Code Playgroud)
这是迄今为止最简单的方法,因为它不需要添加/更改获取源。
<id>您还可以使用 PR 的id直接拉取 PR :
git pull https://github.com/{upstream/project} refs/pull/{id}/head
Run Code Online (Sandbox Code Playgroud)
对于其他选项,请参阅:
| 归档时间: |
|
| 查看次数: |
5826 次 |
| 最近记录: |