V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
albert0yyyy
V2EX  ›  git

给上游 pr,自己应该先 pr 到自己的 main 分支吗?

  •  
  •   albert0yyyy · 1 天前 · 823 次点击
    我用 ai 进行脱敏了:

    工程师小明在 main 分支上进行了 A 、B 、C 、D 四次提交。

    工程师小红在 A 节点 fork 了项目,并在 sub 子分支上进行开发。

    现在小红想将 sub 子分支的代码合并到上游的 main 分支。

    她应该先合并到自己 fork 的 main 分支,

    还是可以直接将 sub 子分支合并到上游的 main 分支?
    6 条回复    2025-03-16 16:09:11 +08:00
    albert0yyyy
        1
    albert0yyyy  
    OP
       1 天前
    ai 是这么回答的,好像都可以:

    直接合并到上游的 main 分支:

    小红可以直接从 sub 子分支创建一个 Pull Request ( PR )到上游的 main 分支。

    这样做的好处是减少了不必要的中间步骤,但需要确保 sub 子分支与上游 main 分支没有冲突。
    先合并到自己的 main 分支:

    小红可以先将 sub 子分支合并到自己 fork 的 main 分支,然后再从自己的 main 分支创建一个 PR 到上游的 main 分支。
    这样做的好处是可以在自己的仓库中先解决潜在的合并冲突,确保代码的稳定性。

    无论选择哪种方法,都需要确保在合并前从上游 main 分支拉取最新的代码,以减少冲突的可能性。
    smyle
        2
    smyle  
       1 天前 via Android   ❤️ 4
    我见过的几乎都是从自己的分支直接往 upstream 主分支合并,我个人也认为这应该是最佳实践之一。自己 fork 的主分支仅仅和 upstream 主分支保持同步就好,避免无谓的冲突。
    比如说,你合并到自己的主分支后,这时候上游主分支又有新变化,如果和你的提交冲突了,你还得额外处理
    oneisall8955
        3
    oneisall8955  
       1 天前
    直接 pr ,有冲突再 pull ,拉最新代码处理冲突
    w2040w
        4
    w2040w  
       22 小时 19 分钟前
    这种情况(上游 main 有更新) pull 后 rebase 到自己的 sub 子分支也能看到有没有冲突吧?
    sentix
        5
    sentix  
       6 小时 10 分钟前 via iPhone
    我偏向 rebase 到上游 main 后再合
    boris1993Jr
        6
    boris1993Jr  
       4 小时 16 分钟前   ❤️ 1
    同意 @smyle #2 的做法。
    main 分支仅用来保持与上游同步,并在新功能开发时作为基础分枝。不直接往 main 分支 commit 或 merge 自己的东西。
    向上游 PR 那就是自己的功能分枝 PR 到上游的 main ,在合并后更新自己 fork 的 main 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:25 · PVG 20:25 · LAX 05:25 · JFK 08:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.