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

求教:在 fork 的仓库上添加不太可能被 upstream 接受的修改,是不是应该在新开的 branch 上开发?

  •  
  •   XIVN1987 · 2 天前 · 995 次点击

    因为如果直接在 master 上开发的话,,那就没法向 upstream 发起任何 pull request 了。。

    是这样吗??

    另外,,如果有一个小的修改希望发起 pull request ,,那应该也为这个修改新开一个 branch 吗??

    或者说一个 fork 的仓库,,如果有 pull request 的打算,,就永远不要在 master 上修改代码,,master 只用来和 upstream 保持同步。。所有修改都在新的 branch 上做??

    感谢各位大佬指教。。

    9 条回复    2025-02-19 17:27:34 +08:00
    SGL
        1
    SGL  
       2 天前   ❤️ 1
    我理解是的,我目前的经验也是这么干的。
    GuoJikun
        2
    GuoJikun  
       2 天前
    可以在你 fork 的分支上开发,只是每次 PR 之后要删除 fork 重新 fork (不然会污染提交记录)
    Configuration
        3
    Configuration  
       2 天前   ❤️ 1
    我觉得最方便的做法是,master 只用来同步,pull request 从自己新开的 branch 直接发起(无需 merge 到 master 再发起)
    jpyl0423
        4
    jpyl0423  
       2 天前   ❤️ 1
    是的,比如有些激进的功能上游不会合并,我就开个分支自己玩,公共问题在 master 上修改再 pull request
    XIVN1987
        5
    XIVN1987  
    OP
       2 天前
    好的,,感谢各位大佬回复。。
    jinliming2
        6
    jinliming2  
       2 天前 via iPhone   ❤️ 1
    @GuoJikun 其实不用删 fork ,只要迁一个新分支出来,reset 到原仓库的提交,然后把要 PR 的改动 cherry pick 过来就行。
    不过最简单的还是在一开始就在新分支开发,原分支仅用于跟踪远程,还可以随时把原仓库的更新 merge 到自己的分支上。
    aisk
        7
    aisk  
       2 天前
    完全可以在 master 分支上进行开发,想要同步上游的话,使用上游的 remote (比如叫 upstream )来进行合并。比如 git rebase upstream/master 。
    adoal
        8
    adoal  
       2 天前
    大概率能被接受的,我也在自己开的 branch 上开发
    gadfly3173
        9
    gadfly3173  
       2 天前 via Android
    我不管做什么修改都是开新分支的,毕竟你不能保证你每次只做一个 PR 。。。我是本地再把原仓库也添加为远程,这样可以直接在原仓库的提交上开分支出来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2768 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.