我分享一下我们公司的协作。尽管我们都有写权限,但是我们还是采用 fork/pull -> PR -> merge 的方式协助,没有直接向 repo
写入代码,主要有二:
一是 PR 会触发 CI
二是 需要 reviewe
如果是 bug 或新功能 commit 都要带 issue#,合并意味着自动打包测试版本。

本地的分支合并之后就会删除,我们只看主线上的日志。


-Never

rainysia <rainy...@gmail.com> 于2019年9月1日周日 下午6:13写道:

>
> 企业开发里面, 我在团队里面, 会经常review团队成员的代码, 有时候有些项目同时有三队人(中国, 美国, 印度团队) 在开发,
> 如果只到最后一步才进行merge 远端的主分支, 冲突的解决那真的是难上加难.
>
> 对于开发人员来讲, 只有当时的开发人员才最熟悉他所更改的代码模块, 所以及早的处理掉和上游分支的冲突, 才是最好的,
> 同时也可以方便的让我回溯这位开发人员是否在merge的时候进行了错误的解决冲突.
> rebase 对企业开发不是一个好的流程,  但是对于开源项目接受第三方的PR的时候, 保持主分支 commit log的清晰, 也是很有必要的.
>
> On Sun, Sep 1, 2019 at 6:00 PM Faris Xiao <atzli...@yeah.net> wrote:
>
>>
>> 在 2019/9/1 下午5:37, Shengjing Zhu 写道:
>> > On Sun, Sep 1, 2019 at 2:08 AM Faris Xiao <atzli...@yeah.net> wrote:
>> >> 这里设计到一个工作流程标准化和工作习惯的问题。其它的项目,都是用 git pull
>> >> 拉取最新代码后再开始工作,唯独这个项目不用 git
>> >> pull,需要搞特例,非常不符合标准化工作流程和对所有项目的 git 操作一致性。
>> >>
>> > 这个仓库并不特殊,你也可以随时pull master branch,但前提是你理解git的概念,而不是盲目地操作一些命令。
>> 针对我现在遇到的具体问题,Boyuan Yang 的意见,是不用
>> pull。我也尝试按他的意见进行 rebase 等操作,目前还没有达到目标。
>> >
>> >> 综上所述,你之前提到的 git fetch 和 git rebase
>> >> 两种方案,都不能够很好的解决及时从官网更新,又不产生过多 merge log 的问题。
>> >>
>> >> 同时这些操作都是非常麻烦耗时的。你提到的这本书,我也会抽时间看,但估计一时半会解决不了我们目前遇到的问题。要想参与翻译的每一位都成为
>> >> git 使用高手,估计也不现实。
>> >>
>> > 对于一般的翻译者,即使提交的Merge
>> >
>> Request包含“奇怪”的commit,也无妨。因为最后的Merge的人,可以帮忙清理commit。但是如果你想获得直接push的权限,那么你就必须要学会git了。
>>
>> 要在开源社区顺利的贡献自己力量,确实需要“学会”git
>> 才行。我此次的遇到的具体问题,我刚才还向邮件列表发邮件反馈具体情况。
>>
>> 同时欢迎各位 git 大拿给出具体的指导意见。
>>
>> >
>> --
>> 肖盛文  Faris Xiao
>>
>>

回复