V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
linuxsuren
V2EX  ›  程序员

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

  •  
  •   linuxsuren ·
    linuxsuren · 29 天前 · 2211 次点击

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

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

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

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

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

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