gpt4 book ai didi

git - 使用 Github 在 Git 中提交多个 pull 请求(一般流程)

转载 作者:太空狗 更新时间:2023-10-29 13:14:54 28 4
gpt4 key购买 nike

无论如何我都不是 git 专家,所以我想确保以下流程是好的:

  1. 找到一个我想贡献的代码库。 (原始 repo )
  2. 在 github 上创建 原始仓库(我的 fork )
  3. 克隆我的 fork 到我的机器上,在我正在处理的任何项目之外。 (独立克隆)
  4. 我的分支作为我想在其中使用它的项目的子模块。(子模块克隆)
  5. 独立克隆上创建一个功能分支,并添加一些内容。
  6. 创建另一个功能分支和其他不相关的东西。
  7. 原始存储库作为远程添加到我的独立克隆
  8. rebase 到原始代码库
  9. 将两个功能分支推 pull 到我的独立克隆的主控中。
  10. 从我项目中的子模块克隆中提取。
  11. 独立克隆中的每个功能分支向原始存储库提交 pull 请求。
  12. pull 请求被接受。
  13. Rebase 我的 fork 的 master 分支,以通过我的更改反射(reflect)新的 master。

里面有什么错误吗?

然后,我应该如何处理本地计算机上的功能分支?也许将它们重新定位到我本地的主人?删除它们(这样不好吗?)?

如果他们不接受我的请求,我仍然想将它们 merge 到我本地的 master 中。这会把事情搞砸吗?

我正在尝试找出允许我提交基于功能的请求的流程,但无论他们是否接受,我都会在我的项目中使用我的更改,并在他们接受/拒绝后立即使用我的本地副本。

很多东西要读,但感谢您的帮助!

编辑: 一天后找到这篇相关文章。没有回答我的问题的复杂性,但仍然有用:http://codeigniter.com/news/contribution_guide#When:13:36:15Z

最佳答案

子模块部分使事情变得有点复杂,但除此之外:

  • 9: pull ?你会把你的两个功能分支推到你的 fork 上(“隔离克隆”),而不是 pull 它们。这会将这些提交保存在您的远程仓库中。
    实际上,对于 pull 请求,您应该推送一个包含您想要提议的所有提交的分支。请参阅下一点。
  • 11:提交 pull 请求: pull 请求背后的想法是为要包含的原始项目提出快进 merge
    因此,虽然您需要将要包含在分支(例如 master)顶部的 pull 请求中的提交 rebase ,但原始存储库必须使用您的提交进行更新。为此,建议:
    • 首先从原始仓库中提取(以确保 master 是最新的),
    • master 的基础上重新设置你的功能分支(同样 master 是这里的一个例子)作为一个新分支(并测试你的两个新功能是否最初是在他们自己的开发中开发的)分支机构一起工作)
    • 将新分支推送到你的分支
    • 提议将该新分支的提交作为对 master 的 pull 请求

作为commented通过 koffie ,如果您是唯一一个在该功能分支上工作的人,则可以进行 rebase (然后可以使用 push --force)。

如果你想回馈一个项目,你不应该直接修改你将贡献的分支的提交历史:如果你想向一个项目的 master 发出 pull 请求原始 repo ,你不应该将任何东西推送到你的 fork 的 master(来自原始 repo 的 pull 的提交除外)
您应该始终在专门的分支机构工作。

关于git - 使用 Github 在 Git 中提交多个 pull 请求(一般流程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7523557/

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