git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
v2gba
V2EX  ›  git

关于用 git 协作开发.

  •  
  •   v2gba · Mar 8, 2015 · 4094 views
    This topic created in 4115 days ago, the information mentioned may be changed or developed.
    对用git协作开发的经历很少, 有些疑问想请教下大家.

    我用过两种方式
    一种是fork了之后, pull request, 然后repo owner来merge.

    另一种是, (授权后)直接在原repo上开新的branch, 然后让负责merge的人merge到master.

    这两种方式有啥优劣之处吗? 如何合理的选择呢? (假设我有权限在原repo开新branch)

    我知道第二种的一个很大的缺点就是: 不算小绿点!!!!
    9 replies    2015-03-08 15:09:52 +08:00
    yyfearth
        1
    yyfearth  
       Mar 8, 2015
    我觉得 PR就是为了方便代码审查 相当于一个特殊的branch
    另外 “原repo上开新的branch” 也可以创建PR 方便代码审查

    如果你们是同一个组织的 同一个repo方便管理和维护
    但是如果是开源社区 你不方便或者不允许直接参与repo的管理
    或者需要维护自己的branch 那么久fork吧
    yyfearth
        2
    yyfearth  
       Mar 8, 2015
    我记得一开始PR的出现 就是为了fork之后任然可以像用branch一样合并
    方便不同fork repos直接的代码交流
    如果不正确的话 请指明
    eriale
        3
    eriale  
       Mar 8, 2015
    @yyfearth PR是不是就是加了一个code review,其他的跟使用同一个repo一样?
    liubiantao
        4
    liubiantao  
       Mar 8, 2015
    既然你提到了小绿点,那应该是在 github 上且开源的项目。

    第一种是针对未授权或者不信任的陌生人。
    如果是同项目组的或者你确信他不会给你搞破坏的人,一般都不用第一种。

    第二种是显示小绿点的,我刚才测试过了,而且 github 帮助也明确说了这种情况:
    >> You are a collaborator on the repository or are a member of the organization that owns the repository.
    https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/
    如果没显示小绿点,你看看是不是不符合其他的条件。

    其实还有一种方法,你们建立一个 organization ,项目组都加入这个 organization 。
    liubiantao
        5
    liubiantao  
       Mar 8, 2015   ❤️ 1
    哦,对了,只有更改默认分支(一般是 master) 还有 gh-pages 才会显示小绿点,所以等你的 branch merge 到 master 之后,小绿点就出来了。
    msg7086
        6
    msg7086  
       Mar 8, 2015
    我们以前单位里开发开源软件,是每个人一个branch,完成以后开PR,测试通过&审查通过以后统一merge。
    和小绿点没关系吧?只要做好账号关联应该都有点?
    wittyfox
        7
    wittyfox  
       Mar 8, 2015
    spacewander
        8
    spacewander  
       Mar 8, 2015
    第一种适合添加小特性或者bug fix,第二种适合去尝试一些新功能。
    chunyang
        9
    chunyang  
       Mar 8, 2015
    你有权限的话,也可以开个 feature 分支,然后提交 PR,过一段时间自己或者让别的有权限的人 merge 掉你的 PR,幸运的话,有人会帮你做 review。

    这样的话 commit 历史中会多一个 merge 记录(merge v.s. rebase)。

    P.S. 开个 PR 本身 Github 似乎也算作一个绿点,同样的,开个 issue 也算
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2992 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 09:29 · PVG 17:29 · LAX 02:29 · JFK 05:29
    ♥ Do have faith in what you're doing.