gpt4 book ai didi

git - 为什么 Github 会在每个 Pull Request 中显示我之前的所有提交

转载 作者:行者123 更新时间:2023-12-03 22:33:07 27 4
gpt4 key购买 nike

我不是最好的 Git 用户,每当我创建 PR 时都会遇到问题。基本上,当我进行 PR 时,我会看到一个包含我之前提交的所有提交的大列表,包括我刚刚提交的提交(我想要 merge 到 Master 分支的提交)。我做的流程如下:

首先,我 fork 我们的 Master 分支的副本,然后

git clone [local copy] 

然后我创建一个 Remote
git remote add upstream [main repo url]

然后每次我进行更改时,我都想添加到我的 PR 中:
git add [file1] [file2 ] ...ect

然后提交:
git commit -m 'blah blah blah'

最后推到原点:
git push origin master

之后,我在 Github 上创建了一个 PR,其中显示了所有以前的提交。有没有办法不列出所有这些而只显示我最近的提交?它显示了 merge 到上游并与之同步的提交。如果 merge 不必选择特定的提交而只选择列出的提交,那就太好了。

谢谢!

最佳答案

您的工作流程似乎不正确。您可以通过两种方式做出贡献:

  • 您在上游存储库中具有写入权限。然后你应该简单地克隆上游存储库, checkout 一个新分支 git checkout -b fix/my-fix并在那里提交您的更改。完成后,将新分支推送到上游 git push origin fix/my-fix并在该 repo 中打开一个 PR。
  • 您没有写入权限,即您不能将任何分支推送到上游仓库。首先,您必须创建存储库的私有(private)分支,然后将您的分支克隆到您的计算机。此外,现在您应该为您的修复或功能添加创建一个新分支。一旦你有了它,您将分支推送到您的私有(private)仓库 .这部分有点令人困惑,但 github 会让它工作。然后,您可以在 fork 的 repo 中打开原始上游 repo 中的 PR。为此,导航到您的 github 个人资料和存储库,并使用您的新分支启动 PR。您应该能够选择上游 master 作为新分支的 merge 目标。

  • 如果您在打开新 PR 时仍然看到所有旧提交,那么您的分支已经分歧,有人强制将更改推送到 master 或类似的东西。您可以查看两个分支的共同祖先 branch_1branch_2git merge-base branch_1 branch_2 .然后你可以使用交互式 rebase git rebase-i将您的分支放在另一个分支之上并删除所有不必要的提交。

    关于git - 为什么 Github 会在每个 Pull Request 中显示我之前的所有提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883840/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com