gpt4 book ai didi

Github: pull 请求后清理 fork

转载 作者:太空狗 更新时间:2023-10-29 12:59:39 27 4
gpt4 key购买 nike

我已经 fork 了一个 github 存储库,做了一个提交(标题 一些小的变化),提交了一个 pull 请求并且它被 merge 到主存储库中(提交标题 一些小的变化(# 12),其中 #12 是 pull 请求编号)。到目前为止,还不错。

现在,当我想更新我的分支时(git rebase upstream/master,请参阅 here ),我在我的存储库中提交了两次。首先是 Some small changes,然后是 Some small changes (#12)。如果我创建一个新的 pull 请求,Some small changes 提交将再次添加到 pull 请求中。

有两种方法可以解决此问题:

  1. 清理我的 fork ,参见 this answer
  2. 将所有提交 merge 为一个,参见 this answer

这两种情况都涉及重写我的历史并且必须强制推送。在提交 pull 请求时,是否有更好的方法让您的 fork 保持同步?

最佳答案

是的。我假设有几种方法可以做到这一点,但这是我所做的。

所以你想为 github 上的存储库做贡献,我们称之为 upstream

在 github 上,您将 fork upstream 存储库。我们称其为 origin

然后在您的开发机器上克隆 origin 以便您可以处理代码。我们称它为 local。当您克隆此存储库时,您很可能已经将 origin 设置为远程存储库。您还需要将 upstream 存储库添加为远程存储库。

然后当你想进行更改时,不要在 master 分支上进行此更改。而是为您的更改创建一个新分支。即 fix-issue-101

一旦您对所做的更改感到满意,您将希望将您的更改从local 存储库推送到origin 存储库。您现在可以在 upstreamorigin 上的 fix-issue-101 分支到 master 创建 pull 请求upstream 上的分支。

在等待 Pull Request 被接受的同时,您可以继续在 localorigin 上创建分支,从而创建额外的 Pull Request。

upstream 上的 master 发生变化时,即你的 Pull Request 被接受,你将从 upstream 上的 master pull code> 到 local 上的 master。然后,将 local 上的 master 推送到 origin 上的 master。这样做之后,所有存储库的 master 分支将恢复同步。

我希望我以一种可以理解的方式写下这篇文章。如果没有,请随时提问,我会相应更新。

关于Github: pull 请求后清理 fork ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38641546/

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