Git如何仅拉取部分提交记录

4

我在我的分支库中对主库做了一些提交,现在我想仅针对其中的某些提交创建拉取请求(我的某些提交已经撤销了)。我不想用不必要的提交混淆拉取请求,请问该怎么办。

2个回答

6

假设“origin”是您的远程仓库,您想要在“origin”的“master”分支上创建一个pull request。

git fetch origin
git checkout -b new_branch origin/master

然后是一堆

git cherry-pick {commit-id}

在这里,{commit-id} 是你想要选择的特定提交。

完成后,从new_branch创建一个新的请求!


这是“仅拉取某些提交”的正确方法。如果您尝试从主分支中挑选一个提交并将其应用到分支上,请确保您的分支已经更新,以便它可以“看到”该提交。 - mcmacerson

2
更好的解决方案是创建一个本地分支,从主分支获取代码并在本地分支上进行更改,然后再将更改后的代码推送到主分支和服务器。 :)

啊,所以我只需要重设所有内容,然后只创建必要的部分? - zehata
是的,你只需要创建一个本地分支(LB),一开始LB是空的...然后从主分支(MB)拉取代码并在LB中清理你的代码,最后将其推送到MB。可能会出现合并问题,但只有一两个文件,你可以轻松解决这个问题。之后你就可以从MB将代码推送到服务器了。谢谢。 - kgsharathkumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接