一个不同代码托管平台间 PR 工作流程相关的问题

2022-01-11 14:44:30 +08:00
 idealhs

因为一直没有用过 Github (搜代码不算),之前在工作中在使用 GitLab 和 Azure DevOps 的时候,都是以分支到分支去 merge 代码的,Gitlab 是提交一个 MR Merge Request ,Azure DevOps 是也叫 PR ,流程大概就是每个人创建自己的分支,然后提 PR 过 review 把分支上的改动朝 master 上合并。

最近在看 github 的时候发现 github 上的 PR 好像和我之前接触的不太一样,如果我要参加一个开源项目,我需要先 fork 别人的仓库,而不是在仓库中创建新分支。PR 是仓库到仓库而不是分支到分支。我的理解正确吗?是所有的代码托管平台都差不多的合并逻辑还是只是 github 是这么干的,谢谢大家解答哈。

1253 次点击
所在节点    git
6 条回复
maichael
2022-01-11 14:49:15 +08:00
理解有问题,Gitlab 也支持仓库到仓库,Github 也当然支持分支到分支。只是由于权限问题(开源协作模式决定,大多数贡献代码的人没有权限在主仓创建分支),所有从会有 fork 新仓库这种方式。
ScepterZ
2022-01-11 14:50:42 +08:00
fork 方式是为了给别人的仓库做贡献,如果你是项目的一份子,也是直接在里边开分支的
dayeye2006199
2022-01-11 14:51:22 +08:00
也是分支到分支的。只不过是你 fork 出来的这个仓库的一个分支,到原仓库的分支;
因为你没有推送原仓库分支的权利,所以只能这么弄了;这个一般是给开源库贡献代码的姿势。

如果你们是自己组织内部用,那直接在原仓库里面开分支,推送原仓库,然后发起 PR 合并分支就可以了;没必要走这个模式。
thevita
2022-01-11 14:52:00 +08:00
我觉着,没啥差别啊, 都是 branch->branch (无非是 这俩 branch 是不是在一个 repo 里, 毕竟 git 是分布式的嘛)
idealhs
2022-01-11 15:34:55 +08:00
感谢楼上各位彦祖们,现在我明白了,就是一个开源和工作流程之间的区别。
unco020511
2022-01-11 23:36:12 +08:00
我之前和你有一样的疑问哈哈,楼上几乎都说清楚了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/827568

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX