【问题标题】:How to do a pull request in GitHub with only the latest commit in the master branch of my forked repository如何在 GitHub 中仅使用我的分叉存储库的主分支中的最新提交来执行拉取请求
【发布时间】:2014-11-21 02:18:42
【问题描述】:

我在 github 上创建了一个仓库。我做了一些更改并提出了拉取请求。

现在我做了一些其他的更改并想做一个新的拉取请求,但是在执行拉取请求之前的预览屏幕上它也显示了旧的提交(那些已经被接受的提交)。

如何仅选择我的分叉存储库的主分支中的最新提交,以便我可以仅使用该提交进行拉取请求?

【问题讨论】:

  • 就像 Talljoe 找到的答案所说,要么将上游 master 合并到您的分支,要么在上游 master 之上重新设置您的 master。

标签: git github branch fork pull-request


【解决方案1】:

一位同事的回答解决了我的问题:

git checkout -b NEW_BRANCH_NAME LAST_COMMIT_NAME_BEFORE_THE_ONE_WANTED
git cherry-pick COMMIT_NAME_WANTED
git push origin NEW_BRANCH_NAME

然后,您可以在 GitHub 上为您创建的新分支发出拉取请求。

更新

当我第一次开始使用 git 时,我提出并回答了这个问题。现在我对它有了更多的了解,我想扩展这个答案。

使用 fork 时,您可能希望根据原始 repo 对其进行更新。所以这些是我今天要遵循的步骤:

git remote add upstream GIT_URL_OF_THE_ORIGINAL_REPO

现在您有一个名为 upstream 的引用,它指向该存储库。默认情况下,您还应该有另一个名为 origin 的名称,在这种情况下将指向您的分叉。 upstreamorigin 是人们通常给这些引用命名的方式,但你可以使用任何你想要的名称。

现在您需要获取最新的更改:

git fetch upstream

那么,如果您想使用 upstream 的更改来更新您的分叉,您可以这样做:

git checkout master //checkout your master branch
git merge upstream/master //merge changes from the master branch in upstream into the branch you checked out (master)
git push origin master //if you want to push your updated master to your remote fork

现在,回答最初的问题,如果我想提交一个新的 PR,我今天会做的是

git fetch upstream //get the latest changes from the original repo
git checkout -b my_new_feature upstream/master //create a new branch, starting from the master in the original repo
git cherry-pick WHATEVER_COMMIT_I_WANT //select the commit I want and add it to this new branch
git push origin my_new_feature //push a new branch to my fork

然后我会为my_new_feature 分支申请新的 PR。

您可以将git cherry-pick WHATEVER_COMMIT_I_WANT 替换为仅修改/添加文件,然后执行git add FILENAMEgit commit -m "Fixing some stuff"

【讨论】:

  • 非常感谢!我一直在寻找这个。
【解决方案2】:

假设它们与第一次提交无关,您可能会将提交放在单独的分支中(在第一组提交之前分支)。然后,单独的分支可以成为拉取请求的目标,并且只会包含您的第二组提交。

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 2016-10-09
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 2022-01-17
    • 2022-10-13
    相关资源
    最近更新 更多