背景:我们在用私有部署 Gitlab 作为服务器。疑问:难道他不知道 Gitlab 是有账号体系的吗?
1 cxy2003chuck 65 天前 git commiit 的信息显示提交人显示的是提交人本地 git config 配置的 name 和 email ,不一定跟 gitlab 账号对牢的,可以不一样。gitlab 账号主要是用来配置提交的 ssh key 。 有些人 本地 git config 配置的 name 和 email 跟账号不一样,光凭 commit 信息很难判断是谁提交的。 |
![]() | 2 linuxsuren OP @cxy2003chuck git branch 上加上名字,也没法确保就是相同的呀 |
3 NavilleZhang 65 天前 @linuxsuren 强制给你们每人一个自己的 namespace, 有什么问题吗 |
4 NavilleZhang 65 天前 https://github.com/llvm/llvm-project 可以在 branch 里搜一下 users |
![]() | 5 eijnix 65 天前 单纯好看而已,某个人改的都在他的文件夹下。 我们的规范就是 dev-name/feature(tech)/jira-ticket/short-description |
6 speedmancs 65 天前 无非就是一个 filter 而已,方便在 web UI 上找自己的 branch |
7 FlashEcho 65 天前 |
8 zhanglintc 65 天前 没有坏处啊 |
![]() | 9 phithon 65 天前 公司内部理论上也是这样(虽然不一定大家都遵守),[dev-name]/[branch-type]/[name] |
10 hwdq0012 65 天前 dev_user_date_branchName 非 dev 分支感觉没必要加开发者名称 |
11 Sendya 65 天前 我们这经常一堆人的 git config user.name user.email 跟账号体系对不上,开发分支上带上用户名也没啥毛病,我们这边也这样 虽然大家都是带的自己名字的缩写 例如 fix/lis-20250805-fail-load-app |
12 qianyeyixi 65 天前 提交工具有那个选项,我也经常勾选 |
![]() | 13 linuxsuren OP @Sendya 个人习惯到没啥问题,强制必须加的话,没感觉有什么必要性 |
![]() | 14 AoEiuV020JP 65 天前 第一反应是分支开发功能合并到主分支时自动 commit log 包含分支名,包含责任人, |
![]() | 15 MIUIOS 65 天前 挺好的,我这也是一大堆 git 名字对不上的,而且很多开发机是一代传承的,有可能这个人的名字是上一个跑路的人 人家也懒得改 |
16 devcai 65 天前 应该是加一层过滤 后面好区分 分类什么的 也没什么大问题 |
17 Sendya 65 天前 @linuxsuren #13 我认为 “这种就只是小规范而已,有工资拿爱咋规范就咋规范,只要不涉及到底线和社会道德 领导怎么规范就怎么做” 就像开源项目都有贡献指南,挺多贡献指南要求你 PR 得 feat: fix: 等前缀一样,不合规都被 github 的 PR hooks bot 自动给 closed ,除非你代码优雅实力强悍,被看到了手动恢复。 branch 也是一种普通的规范而已 感觉也不奇葩,这种规范的事情就是公说公有理婆说婆有理,你可以尝试说服你描述的某个人,或者让他说服你。 |
18 niukuo 65 天前 via iPhone 有 namespace 的话你每次 fetch 时可以只拉自己的分支 比如配置 fetch=+refs/heads/users/your_name/*:refs/remotes/origin/my/* 这样就可以把本地的 my/*分支映射到远端的 users/your_name/* |
![]() | 19 CapNemo 65 天前 感觉强制 gpg 签名会更好一些 |
![]() | 20 19cm 65 天前 这有啥好吐槽的,多少能方便点啊 |
![]() | 21 Vaspike 65 天前 via iPhone Git 工作流中有一种是 GitHub 工作流,简单来说就是项目仓库不允许任何人直接 push ,没人 fork 一个仓库到自己命名空间下,所有的代码也提交到自己的命名空间,最后把代码以 pull request 的形式( gitlab 中叫 merge request)创建合并请求,由 leader 一边 review 一边同意合并,发现有问题的打回; 把这个工作流介绍给你团队的某人; 曾经我主导的项目我都要求 GitHub 工作流,自己也不例外,因为我是真的会 review 的 |
![]() | 22 wcs111 65 天前 脱裤子放屁 |
![]() | 23 linuxsuren OP @Vaspike 我自己很喜欢这种模式,比如: https://github.com/LinuxSuRen/api-testing 这是我开源的一个项目。但团队的某些人觉得即使用 MR 也希望能在分支里带名字,这一点我就有点困惑了。 |
![]() | 24 jqtmviyu 65 天前 @Vaspike #21 gitlab 工作流好像. 但是是 merge request. 换新公司现在我都不用 merge 了, 全是 rebase -i origin/dev, push 到自己命名的分支再发 mr, 审核通过才合并. |
![]() | 25 jqtmviyu 65 天前 我觉得挺好的. vscode git graph 插件方便筛选. 只显示本地的个人分支和远程的 dev 分支. 合并代码是 PR 或者 MR. |
![]() | 26 guoer 65 天前 他强任他强,我用马斯特 |
![]() | 27 mlzboy 65 天前 可以带上 jira 的 bug id ,会做自动关联,这是一种 trace id ,用姓名也是一个思路 |
28 DefoliationM 65 天前 方便区分呗,要是有几百上千的分支,想清理一下自己不用的分支,几千个里怎么知道是谁的呢? |
![]() | 29 msg7086 65 天前 Gitlab 有账号体系,关 Git 分支命名什么事。 Git 分支如果用上 Gitlab 账号,不就是靠你在 Git 分支上加上自己名字吗。 我们这一个仓库一两千个分支,谁知道哪个分支是谁的,不都是靠分支上加名字创建 namespace ? |
![]() | 30 Mr54 64 天前 我们甚至都是只能在自己名字的分支上开发,然后统一合并到 dev |
31 zqguo 64 天前 很正常吧,怎么清晰怎么来。 |
32 cxy2003chuck 59 天前 @linuxsuren 这样是为了两个目的,一是清理无用分支的时候,就可以马上根据分支名称里面的名字知道是谁提交的,找到责任人;二是,master 和 develop 分支查以前的代码时候,根据 merge request 信息里面 merge 分支 名称中的名字,确认 某一次 merge request 的责任人是谁 |
33 cxy2003chuck 59 天前 主要还是看人多人少,站在什么角色角度,你就只管自己,就一个人开发一个项目自然无所谓,团队一大,一堆功能同时开发,你作为研发管理者,面对一大堆功能分支,如果无法马上分辨是谁负责的,简直就是灾难。 |
34 cxy2003chuck 59 天前 @linuxsuren 加名字目的不是为了跟 gitlab 账号体系相同啊,目的是为了立刻分辨这个分支是谁负责的,责任到人,方便分支管理和代码溯源。所以你加的名字应该是含义明确,能直观确定是谁,并且保持不变的,能让管理者马上确认责任人。 |
![]() | 35 linuxsuren OP @cxy2003chuck 从 MR 里看不出来提交代码人的信息吗 |