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

关于用 git 协作开发.

  •  
  •   MrGba2z · 2015-03-08 05:32:26 +08:00 · 3579 次点击
    这是一个创建于 3548 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对用git协作开发的经历很少, 有些疑问想请教下大家.

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

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

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

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

    如果你们是同一个组织的 同一个repo方便管理和维护
    但是如果是开源社区 你不方便或者不允许直接参与repo的管理
    或者需要维护自己的branch 那么久fork吧
    yyfearth
        2
    yyfearth  
       2015-03-08 05:56:02 +08:00
    我记得一开始PR的出现 就是为了fork之后任然可以像用branch一样合并
    方便不同fork repos直接的代码交流
    如果不正确的话 请指明
    eriale
        3
    eriale  
       2015-03-08 09:15:25 +08:00
    @yyfearth PR是不是就是加了一个code review,其他的跟使用同一个repo一样?
    liubiantao
        4
    liubiantao  
       2015-03-08 09:27:29 +08:00
    既然你提到了小绿点,那应该是在 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  
       2015-03-08 09:29:44 +08:00   ❤️ 1
    哦,对了,只有更改默认分支(一般是 master) 还有 gh-pages 才会显示小绿点,所以等你的 branch merge 到 master 之后,小绿点就出来了。
    msg7086
        6
    msg7086  
       2015-03-08 11:11:58 +08:00
    我们以前单位里开发开源软件,是每个人一个branch,完成以后开PR,测试通过&审查通过以后统一merge。
    和小绿点没关系吧?只要做好账号关联应该都有点?
    wittyfox
        7
    wittyfox  
       2015-03-08 12:13:41 +08:00
    spacewander
        8
    spacewander  
       2015-03-08 13:52:12 +08:00
    第一种适合添加小特性或者bug fix,第二种适合去尝试一些新功能。
    chunyang
        9
    chunyang  
       2015-03-08 15:09:52 +08:00
    你有权限的话,也可以开个 feature 分支,然后提交 PR,过一段时间自己或者让别的有权限的人 merge 掉你的 PR,幸运的话,有人会帮你做 review。

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

    P.S. 开个 PR 本身 Github 似乎也算作一个绿点,同样的,开个 issue 也算
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1082 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.