• 请不要在回答技术问题时复制粘贴 AI 生成的内容
linuxsuren
V2EX  ›  程序员

团队中某人强迫大家在提交 git 分支时加上自己的名字是个什么奇葩逻辑

  •  
  •   linuxsuren ·
    linuxsuren · Aug 5, 2025 · 3703 views
    This topic created in 459 days ago, the information mentioned may be changed or developed.

    背景:我们在用私有部署 Gitlab 作为服务器。疑问:难道他不知道 Gitlab 是有账号体系的吗?

    cxy2003chuck
    cxy2003chuck
    Aug 5, 2025
    1
    git commiit 的信息显示提交人显示的是提交人本地 git config 配置的 name 和 email ,不一定跟 gitlab 账号对牢的,可以不一样。gitlab 账号主要是用来配置提交的 ssh key 。
    有些人 本地 git config 配置的 name 和 email 跟账号不一样,光凭 commit 信息很难判断是谁提交的。
    linuxsuren
    linuxsuren
    OP
    Aug 5, 2025
    2
    @cxy2003chuck git branch 上加上名字,也没法确保就是相同的呀
    NavilleZhang
    NavilleZhang
    Aug 5, 2025
    3
    @linuxsuren 强制给你们每人一个自己的 namespace, 有什么问题吗
    NavilleZhang
    NavilleZhang
    Aug 5, 2025
    4
    https://github.com/llvm/llvm-project 可以在 branch 里搜一下 users
    eijnix
    eijnix
    Aug 5, 2025
    5
    单纯好看而已,某个人改的都在他的文件夹下。 我们的规范就是 dev-name/feature(tech)/jira-ticket/short-description
    speedmancs
    speedmancs
    Aug 5, 2025
    6
    无非就是一个 filter 而已,方便在 web UI 上找自己的 branch
    FlashEcho
    FlashEcho
    Aug 5, 2025
    7
    我这恰好还真有这种同事,公司内部每年都会做分支治理,如果命名不规范要清理,ta 说这样方便找到这个分支是谁的
    zhanglintc
    zhanglintc
    Aug 5, 2025
    8
    没有坏处啊
    phithon
    phithon
    Aug 5, 2025
    9
    公司内部理论上也是这样(虽然不一定大家都遵守),[dev-name]/[branch-type]/[name]
    hwdq0012
    hwdq0012
    Aug 5, 2025
    10
    dev_user_date_branchName

    非 dev 分支感觉没必要加开发者名称
    Sendya
    Sendya
    Aug 5, 2025
    11
    我们这经常一堆人的 git config user.name user.email 跟账号体系对不上,开发分支上带上用户名也没啥毛病,我们这边也这样 虽然大家都是带的自己名字的缩写 例如 fix/lis-20250805-fail-load-app
    qianyeyixi
    qianyeyixi
    Aug 5, 2025
    12
    提交工具有那个选项,我也经常勾选
    linuxsuren
    linuxsuren
    OP
    Aug 5, 2025
    13
    @Sendya 个人习惯到没啥问题,强制必须加的话,没感觉有什么必要性
    AoEiuV020JP
    AoEiuV020JP
    Aug 5, 2025
    14
    第一反应是分支开发功能合并到主分支时自动 commit log 包含分支名,包含责任人,
    MIUIOS
    MIUIOS
    Aug 5, 2025
    15
    挺好的,我这也是一大堆 git 名字对不上的,而且很多开发机是一代传承的,有可能这个人的名字是上一个跑路的人 人家也懒得改
    devcai
    devcai
    Aug 5, 2025
    16
    应该是加一层过滤 后面好区分 分类什么的 也没什么大问题
    Sendya
    Sendya
    Aug 5, 2025
    17
    @linuxsuren #13 我认为 “这种就只是小规范而已,有工资拿爱咋规范就咋规范,只要不涉及到底线和社会道德 领导怎么规范就怎么做”

    就像开源项目都有贡献指南,挺多贡献指南要求你 PR 得 feat: fix: 等前缀一样,不合规都被 github 的 PR hooks bot 自动给 closed ,除非你代码优雅实力强悍,被看到了手动恢复。

    branch 也是一种普通的规范而已 感觉也不奇葩,这种规范的事情就是公说公有理婆说婆有理,你可以尝试说服你描述的某个人,或者让他说服你。
    niukuo
    niukuo
    Aug 5, 2025 via iPhone
    18
    有 namespace 的话你每次 fetch 时可以只拉自己的分支 比如配置 fetch=+refs/heads/users/your_name/*:refs/remotes/origin/my/*

    这样就可以把本地的 my/*分支映射到远端的 users/your_name/*
    CapNemo
    CapNemo
    Aug 5, 2025
    19
    感觉强制 gpg 签名会更好一些
    19cm
    19cm
    Aug 5, 2025
    20
    这有啥好吐槽的,多少能方便点啊
    Vaspike
    Vaspike
    Aug 5, 2025 via iPhone
    21
    Git 工作流中有一种是 GitHub 工作流,简单来说就是项目仓库不允许任何人直接 push ,没人 fork 一个仓库到自己命名空间下,所有的代码也提交到自己的命名空间,最后把代码以 pull request 的形式( gitlab 中叫 merge request)创建合并请求,由 leader 一边 review 一边同意合并,发现有问题的打回;
    把这个工作流介绍给你团队的某人;
    曾经我主导的项目我都要求 GitHub 工作流,自己也不例外,因为我是真的会 review 的
    wcs111
    wcs111
    Aug 5, 2025
    22
    脱裤子放屁
    linuxsuren
    linuxsuren
    OP
    Aug 5, 2025
    23
    @Vaspike 我自己很喜欢这种模式,比如: https://github.com/LinuxSuRen/api-testing 这是我开源的一个项目。但团队的某些人觉得即使用 MR 也希望能在分支里带名字,这一点我就有点困惑了。
    jqtmviyu
    jqtmviyu
    Aug 5, 2025
    24
    @Vaspike #21 gitlab 工作流好像. 但是是 merge request. 换新公司现在我都不用 merge 了, 全是 rebase -i origin/dev, push 到自己命名的分支再发 mr, 审核通过才合并.
    jqtmviyu
    jqtmviyu
    Aug 5, 2025
    25
    我觉得挺好的. vscode git graph 插件方便筛选. 只显示本地的个人分支和远程的 dev 分支. 合并代码是 PR 或者 MR.
    guoer
    guoer
    Aug 6, 2025
    26
    他强任他强,我用马斯特
    mlzboy
    mlzboy
    Aug 6, 2025
    27
    可以带上 jira 的 bug id ,会做自动关联,这是一种 trace id ,用姓名也是一个思路
    DefoliationM
    DefoliationM
    Aug 6, 2025
    28
    方便区分呗,要是有几百上千的分支,想清理一下自己不用的分支,几千个里怎么知道是谁的呢?
    msg7086
    msg7086
    Aug 6, 2025
    29
    Gitlab 有账号体系,关 Git 分支命名什么事。
    Git 分支如果用上 Gitlab 账号,不就是靠你在 Git 分支上加上自己名字吗。
    我们这一个仓库一两千个分支,谁知道哪个分支是谁的,不都是靠分支上加名字创建 namespace ?
    Mr54
    Mr54
    Aug 6, 2025
    30
    我们甚至都是只能在自己名字的分支上开发,然后统一合并到 dev
    zqguo
    zqguo
    Aug 6, 2025
    31
    很正常吧,怎么清晰怎么来。
    cxy2003chuck
    cxy2003chuck
    Aug 11, 2025
    32
    @linuxsuren 这样是为了两个目的,一是清理无用分支的时候,就可以马上根据分支名称里面的名字知道是谁提交的,找到责任人;二是,master 和 develop 分支查以前的代码时候,根据 merge request 信息里面 merge 分支 名称中的名字,确认 某一次 merge request 的责任人是谁
    cxy2003chuck
    cxy2003chuck
    Aug 11, 2025
    33
    主要还是看人多人少,站在什么角色角度,你就只管自己,就一个人开发一个项目自然无所谓,团队一大,一堆功能同时开发,你作为研发管理者,面对一大堆功能分支,如果无法马上分辨是谁负责的,简直就是灾难。
    cxy2003chuck
    cxy2003chuck
    Aug 11, 2025
    34
    @linuxsuren 加名字目的不是为了跟 gitlab 账号体系相同啊,目的是为了立刻分辨这个分支是谁负责的,责任到人,方便分支管理和代码溯源。所以你加的名字应该是含义明确,能直观确定是谁,并且保持不变的,能让管理者马上确认责任人。
    linuxsuren
    linuxsuren
    OP
    Aug 11, 2025
    35
    @cxy2003chuck 从 MR 里看不出来提交代码人的信息吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   721 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 22:41 · PVG 06:41 · LAX 14:41 · JFK 17:41
    ♥ Do have faith in what you're doing.