V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
breadykidliu
V2EX  ›  程序员

挺生气的,关于领导 git 管理的一顿臭骂

  •  
  •   breadykidliu · 298 天前 · 10937 次点击
    这是一个创建于 298 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的
    目前项目发生产的分支没有做 protect ,任何人都能往上 push
    (之前提议过生产分支要做 protect ,某领导以每次合并都要由某人审核太麻烦被拒)
    组里定的规矩(不成文,口口相传,也不知道我掌握的是否全面)是:迭代发生产时,将功能代码合上生产分支
    今天突然要发个 hotfix ,看 commit 记录发现了我提交的某个 bugfix
    tl 直接质问我为什么当天不发版的内容要合上生产分支,
    我说这个 bug 拖一天生产上每日生成的文件名就错一天,肯定越早上线修复越好
    然后他开始 balabala 一顿说
    我觉得你们自己不做限制,规定又不成文,就别怪其他人往上合,
    单个无依赖的 commit 你实在不允许上线,你 drop 掉就行了,完事后和当事人说下,强调下规定,就可以了,
    你冲我 balabala 叫个 p 啊,大煞笔!

    91 条回复    2023-07-06 19:58:13 +08:00
    LeegoYih
        1
    LeegoYih  
       298 天前   ❤️ 42
    所有你为什么不先沟通再提交?你还觉得你自己对了?😅
    wdlth
        2
    wdlth  
       298 天前
    如果按照代码库管理的方式来看,你们 TL 的做法也没错,因为上线的主要是功能需求,如果不成功是可能进行整体回滚的,回滚的话你的这个 hotfix 也是留不下来的。
    如果你只是改了很小的一部分的话,可以先用旧版本的代码拉分支,然后在当前版本的代码上验证,等新版本主要的功能需求都合并后,再通过捡樱桃方式合并过来。
    Vegetable
        3
    Vegetable  
       298 天前   ❤️ 7
    protect 本质是避免误操作。没有 protect 并不意味着这个分支可以自由的 push ,这是两回事。

    网上冲浪多说一句你别太介意,我觉得这个事儿你应该承认错误,领导水平如果不说,你这么提交代码很冒失,出了问题不是你一个人被问责
    BeautifulSoap
        4
    BeautifulSoap  
       298 天前 via Android
    虽然我自己管理的项目偶尔也会嫌麻烦直接 push ,但不是自己管理的项目不是自己负责任的话,直接往生产环境的分支上 push 前最好还是说一声
    IvanLi127
        5
    IvanLi127  
       298 天前 via Android   ❤️ 1
    你如果是误操作的话,那就是你的领导不听忠言,不开保护。。

    可你不是误操作啊,那保护不保护和你意图无关呀


    要我说,你这次提交只是脑袋一热,太上心项目了,要是开了保护,至少能避免这种意外。要不是这样的话,那这锅,你的领导分不到多少
    foolishcrab
        6
    foolishcrab  
       298 天前 via iPhone   ❤️ 7
    虽然你是有责任心且你们组确实管理混乱。
    但是你不说一声往 release push 这个事,你要认识到严重性的。不管对你个人还是对项目而言都很严重
    foolishcrab
        7
    foolishcrab  
       298 天前 via iPhone
    不过确实保护分支都不开的项目,这领导没资格在这说分支规范的事
    awolf
        8
    awolf  
       298 天前
    fire it
    iintothewind
        9
    iintothewind  
       298 天前
    你们项目确实管理混乱,领导的问题,你不能改变最好的作法还是处事谨慎,自保为上吧,要不就换工作。
    levelworm
        10
    levelworm  
       298 天前
    的确管理混乱。。。这种事情吧,以后记得一定要留痕,要 cc 所有相关人,省的之后说不清楚。对方不回信就什么都不做。
    klo424
        11
    klo424  
       297 天前
    无论是人工管理还是系统管理,你的做法都是越权的,错就错了,以后注意就是了。
    AmosLi
        12
    AmosLi  
       297 天前
    首先,生产分支不做保护不合适,说什么怕麻烦的理由站不住!
    其次,楼主修复 bug 确实应该给领导知会一声。你没有打招呼,私自提交不合适
    litchinn
        13
    litchinn  
       297 天前
    没有测试吗,不懂为啥会直接往生产分支上 push ,不应该先 push 到开发或测试分支上,生产分支从 dev/test 上拉吗,不清楚你们的流程,不过多评价
    Frankcox
        14
    Frankcox  
       297 天前
    程序正义是工作中的重中之重,你可以觉得领导 SB ,领导也确实可能 SB 。但你应该做的是要么指出问题所在,提出解决方案;如果确实没法推动改变,那就拍拍屁股走人,坐等他们出事。而不是擅自按照自己的意愿去做。
    theprimone
        15
    theprimone  
       297 天前
    领导也看 V 站咋办?
    zysuper
        16
    zysuper  
       297 天前
    既然你都觉得领导煞笔了,那发这个帖子,是想找到同仁的认同感,还是想得到什么呢?
    zed1018
        17
    zed1018  
       297 天前
    确实,但凡是因为觉得麻烦就省掉流程,出事只是时间问题。
    我们组都是所有仓库全 protected ,所有开发都自行 fork ,自己怎么玩都可以,但是要上测试环境就走 fork-based 的合并请求进主线,主线自动走 ci/cd 打包,gitops 自动发布测试。上生产另外走发布 tag 流程。虽然麻烦,但是有卡关的地方,认为事故概率会低很多。
    zed1018
        18
    zed1018  
       297 天前
    而且换句话讲,这么做上线的神圣感会强一点,不会太随意
    dif
        19
    dif  
       297 天前   ❤️ 1
    上线的分支一般都比较重要,不说允许不允许合并吧。至少要通知一声。
    9113946
        20
    9113946  
       297 天前
    领导的角度没错,你的做法欠妥当
    yule111222
        21
    yule111222  
       297 天前   ❤️ 1
    LS 几个人别装逼了,生产分支不 protect 能直接 push 显然是技术管理问题,别怪小弟
    dqzcwxb
        22
    dqzcwxb  
       297 天前
    做错了事还嘴硬
    hokori
        23
    hokori  
       297 天前
    我告诉你,我之前公司的一个总监,git 不会,linux 不懂,照样月入 5w+。 薪资是有个同事泡了会计,不过那个总监 5 个月就走了,应该是劝退的。
    sujin190
        24
    sujin190  
       297 天前 via Android
    严格来说这样确实不对,口头约定也是规则,现在出来很多规则外也还有软规则,之所以这样选择完全是基于沟通协调协作成本考量,类比于现实法律这个规则并不会也不能事事俱到,我们也还要遵守很多道德伦理方面的规则,再说吧如果你处在一个事事都有硬规则,否则大家就钻空子的工作环境,你也会觉得很非常难受

    比如这件事情中,发布分支不强制限制不可推送确实存在可以推送的可能,但是你在项目组提前说一说或者和 leader 提前说清楚再提交,和你直接不管不顾提交两者是完全不同的,想着更快修复问题是好事,好心要有好路径去完成事情才会有好结果,一般逻辑中人家把这个称为情商
    QlanQ
        25
    QlanQ  
       297 天前
    一般不都是 protected 然后走 merge 么
    ql562482472
        26
    ql562482472  
       297 天前   ❤️ 1
    我建议你立刻去和领导道歉,就说
    “领导,我意识到这个做法是错误的了,即使没有 protect ,我也不应将没规划的内容提交到版本分支上。”

    这样你的意图能够达到(加 protect ),在领导那边的印象分也能赚回来。

    当然的建议是我比较功利了,但是我觉得对你真的有好处
    8355
        27
    8355  
       297 天前
    你们没看懂,op 是在倒逼负责人开启生产分支 protect 用自己的方式保护生产分支👍
    kalman03
        28
    kalman03  
       297 天前   ❤️ 1
    在高效的小团队里面,约束的效率没有约定高!
    lambdaq
        29
    lambdaq  
       297 天前
    LZ 还年轻吧。。。。这领导是对你好。。。。。。。。。

    等你变职场老油条了,你也会不可救药的避免担责走死板流程的。。。
    wolfie
        30
    wolfie  
       297 天前   ❤️ 1
    @yule111222
    看不懂上下文少说两句,任何 git 问题都可以推脱给 release 没 protect 是吧。
    akring
        31
    akring  
       297 天前   ❤️ 9
    「我觉得你们自己不做限制,规定又不成文,就别怪其他人往上合」

    你看,其实你也知道这样不好,只不过是想把锅甩到没规定上罢了
    GOOD21
        32
    GOOD21  
       297 天前   ❤️ 1
    一般规范都是出了事故才订立起来的。只有经历过一次,才知道什么叫“敬畏上线”。
    polo3584
        33
    polo3584  
       297 天前
    小团队确实直接 push 效率高,不过 push 截图到群通知其他人还是很有必要的吧。。。
    dcsite
        34
    dcsite  
       297 天前
    你们 TL 确实是大煞笔…… 感觉完全是情绪化做事。

    用邪恶一点的想法,生产分支不设限目的就是,可以权利最大化,随时可以整人……
    nothingistrue
        35
    nothingistrue  
       297 天前   ❤️ 1
    日常管理的规则是「规无约定则禁止」,并不是「规无禁止即可行」。刚入职场的小年轻容易把二者搞翻而碰壁。
    tabris17
        36
    tabris17  
       297 天前
    我觉得你工作心态有问题

    “bug 拖一天生产上每日生成的文件名就错一天” 关自己什么事呢,管他呢
    zhio
        37
    zhio  
       297 天前
    你的 tl, 逛不逛 V2EX 啊、
    lingeo
        38
    lingeo  
       297 天前
    git flow 不是靠那个 protect 来实现的,自己平时没有养成习惯,就当涨记性了吧。
    你单独 commit 了 bugfix ,可以 revert 你的 bugfix 。
    MuscleOf2016
        39
    MuscleOf2016  
       297 天前
    不是自己主要负责的项目,就不要直接往 master push 了。应该走提合并请求的流程。
    arnoldxiao
        40
    arnoldxiao  
       297 天前
    @tabris17 血的教训
    deplivesb
        41
    deplivesb  
       297 天前   ❤️ 2
    问题来了,你的 bugfix 往里面合的时候通知了相关的人员了么?如果没有,活该被骂,要我我也骂你。
    ljtfdt
        42
    ljtfdt  
       297 天前
    要学会沟通,沟通完再提交不啥事就没有了么
    accelerator1
        43
    accelerator1  
       297 天前
    出发点是好的,但是做法是不对的,跟有没有 protect 无关,有了 protect 你也要提交 mr 的,只不过你们现在的 mr 是口头通知。
    bug 也分优先级、严重性,看你的描述,生成错误的文件名完全可以一行命令解决掉,但是这个错误要不要修复、什么时候修复可不是研发决定的。
    raighne
        44
    raighne  
       297 天前
    真草台班子
    iOCZ
        45
    iOCZ  
       297 天前
    @hokori 薪资是有个同事泡了会计,啥意思?
    hokori
        46
    hokori  
       297 天前
    @iOCZ 所以知道这个总监的月薪 传出来了
    yule111222
        47
    yule111222  
       297 天前
    @wolfie 只有没有 CI ,CR 的团队才会遇到那么多 git 问题。连 protect 这种最基础的都没有,遇到任何问题都不稀罕
    bk201
        48
    bk201  
       297 天前
    你这不按套路出牌啊,想怎么搞就怎么搞。protect 是强制措施,你自己的行为是自己应该约束自己的。就像法律不规定的话,你就可以违背道德乱搞了吗?
    leeg810312
        49
    leeg810312  
       297 天前
    楼上好些个被点赞的回复,都是什么迷惑观点,居然还有人认为没有规定就是禁止,不要效率了是吧,什么都要请示又要被人说是个蜡烛,不点不亮咯。技术管理可以约束的非要放弃分支限制,用口头约定,既然放弃限制就是默认什么都可以提交,口头约定算个球,这个领导就是 nc 。
    BruceTu
        50
    BruceTu  
       297 天前
    你的错更多一些
    wintersun
        51
    wintersun  
       297 天前   ❤️ 2
    A 、作为个体,反思自己:
    1 、用户思维,为结果负责,很好的价值观
    2 、团队协作,明文规则或口头约定,要坚守; 如果与最终价值准则冲突,要上下沟通,再决定是否特事特办

    B 、作为团队领导,反思领导力:
    1 、不当众批评个人,尤其是带情绪做人格判定乃至人身攻击。没有一个人喜欢被当众公开处刑。
    2 、对事,也对人——
    对事,是偶然发生还是频繁发生?前者特事特办,后者要反思自己定下的流程制度
    对人,要先弄清楚动机。动机好,即便事情没办好,也不要指责。要有容错思维,鼓励和培养团队成员。再用正确的做事方法来处理,确保后续不会再犯。

    C 、工程思维
    效率、质量、成本,本身就是互相制约的三角。

    成本受制的情况下,既要效率(合并都要由某人审核太麻烦),又要质量(一次“误”操作都没有),只能说要求很高,那就更需要提高每一个团队成员的能力并加强沟通协作,建立彼此间的信任。
    cstj0505
        52
    cstj0505  
       297 天前
    用的公司 git ,主要版本没有 protect ,也是口头约定

    这两周,有人直接在 develop 分支上修改,还有人自己提 pr 自己合,他自己觉得代码没问题但是实际上有问题
    SACKJJKLL
        53
    SACKJJKLL  
       297 天前
    敏捷开发,领导不在乎
    JimmyChan1506
        54
    JimmyChan1506  
       297 天前
    什么样的团队使用什么样的规定, 小团队没那么多限制非常正常, 个人经历, 100 人左右的团队, 也有过 30 人左右的团队, 从来没有对主分支做过任何权限限制做什么 protect, 也从来没出过代码方面的问题, 当然了, push force 之类的操作是肯定有限制的, 这个在 git server 上做就足够了 .

    自己一声不吭在上线分支上提交了代码, 目测很可能也没有经过测试, 还是靠自己的 TL 细心才发现存在非必要代码, 人家批评你一点问题都没有, 你的做法只能证明你自己工程经验很差, 团队合作精神也不好.

    当自己所在的团队存在自己觉得不合理的地方, 能提出来很好(同时也证明了, 你团队 TL 并不是不能讨论不同的做法), 但最终的结果与自己"认为正确"的做法不一致时, 要多了解对方做法的缘由, 他所顾虑的问题, 同时也需要妥协, 毕竟你自己的看法多半是基于自己过往的经验, 而这些经验是否正确不说, 肯定也不是每一个项目都合适. 这就叫做 Teamwork
    henryhu
        55
    henryhu  
       297 天前
    你的确错了。你认为这次私自 push 没问题,谁知道下次私自 push 会搞出什么幺蛾子
    adoal
        56
    adoal  
       297 天前   ❤️ 1
    你看,你也觉得生产分支应该 protect……所以没 protect 了你就任意提交?你是坚持自己的底线,还是跟着外部条件摆烂?
    YienX
        57
    YienX  
       297 天前
    只能说最后一句好像在骂你自己
    xz410236056
        58
    xz410236056  
       297 天前
    @dqzcwxb #22 真觉得这事儿这么严重为啥能直接 push ?还不是又菜毛病又多
    sikaco
        59
    sikaco  
       297 天前
    看到大部分人都在骂你,我就放心了。
    其他有些评论简直是搞笑,说那个领导不设 protect 是为了权利最大化方便整人,戏是不是太多了。。
    iOCZ
        60
    iOCZ  
       297 天前
    团队应该严格按照分支工作流程来
    TestFlight
        61
    TestFlight  
       297 天前 via iPhone
    常在河边走,哪有不湿鞋。某一次 push 之后导致线上异常,造成资损进行复盘的时候,你就知道了,你是主要责任人,TL 是次要责任人
    Felldeadbird
        62
    Felldeadbird  
       297 天前
    为了楼主好,以后 push 前通知对应的人。

    楼主估计工作被骂的少。
    xFrye
        63
    xFrye  
       297 天前
    「挺生气的,关于下属不事先沟通私下合并代码的这件事」
    Belmode
        64
    Belmode  
       297 天前
    这也不完全是你的错,工作上,遇事最好还是多沟通为好,千万不能相当然,不然会吃大亏的。需要做什么事,最好以邮件、会议、聊天群 at 所有人等方式,知会相关人员留痕。
    不要听一些二极管的发言。
    jiangzm
        65
    jiangzm  
       297 天前
    同样作为 TL , 我一直在组内强调的是 发布上线的代码需要经过 CR (可以组员之间),任何变更内容都要通过测试验证。上面看似是要求其实也是责任分摊,出了问题不会一个人担着
    kumiko
        66
    kumiko  
       297 天前
    笑死,看来楼主没背过锅。多背几次有不会这么幼稚了
    shaozelin030405
        67
    shaozelin030405  
       297 天前
    别。。。别乱往生产分支合东西,只合说好的东西
    lincanbin
        68
    lincanbin  
       297 天前
    各打五十大板,你领导有管理责任,没有用权限管控等手段来限制这种事情的发生。
    你的话则是代码合并上线没有及时周知。
    janus77
        69
    janus77  
       297 天前
    首先领导是不会改的,该改的最终还得是你
    其次你的理由在我看来很可笑,早一点修复是更好,但是有谁规定一定要早一点修复了吗?相反,还真有人规定过不能随便合分支。另外晚一点上线又怎么样了呢?是会被骂还是会扣钱吗?
    很现实的问题。op 就是没搞清技术和管理的分界。
    Desiree
        70
    Desiree  
       297 天前
    @kalman03 这不是效率问题,是安全问题,生产分支都不保护,那 Git 管理有啥意义呢
    kalman03
        71
    kalman03  
       297 天前
    @Desiree 就看怎么理解“约定”与“约束”,在一个高素质的开发团队,每个人都是自驱的,约定总是能运行的很好。就好比,有些公司对打卡没有要求,但实际上每个人都能自行约束自己,产出远远高于打卡的公司。
    kalman03
        72
    kalman03  
       297 天前
    @Desiree 本来不打卡的公司运行的很好,突然一天来了一个楼主这样的员工,这样就打破了约定。哈哈
    kalman03
        73
    kalman03  
       297 天前
    @Desiree 那么是跟 OP 谈谈上班摸鱼的事情,还是开启强制打卡模式呢?我觉得这个其实是一个道理,ok ,温习下敏捷宣言

    https://www.leangoo.com/wp-content/uploads/2018/07/leangoo%E6%95%8F%E6%8D%B7%E5%AE%A3%E8%A8%80.jpg
    fresco
        74
    fresco  
       297 天前
    你想想为啥别人都没这个问题?
    xu45525584
        75
    xu45525584  
       297 天前
    事情怎么样先不说,不过你这性格在职场不好混的,混社会还是讲人情的
    领导处不好,基本可以走人了,因为后面有好事也没你的份
    houzhiqiang
        76
    houzhiqiang  
       297 天前
    没有 code review 吗?不创建 pr 或者叫 mr 吗?
    chonphile1
        77
    chonphile1  
       297 天前
    乱麻一团,赶紧离职吧,从头到尾都是错。
    1.代码提交都没有合理的分支规划
    2.任何人都可以随意 push ?
    3.无测试、不审核的?
    4.你们这是能有多自信?
    lidashuang
        78
    lidashuang  
       297 天前
    多沟通
    realpg
        79
    realpg  
       297 天前
    OP 的问题
    无论沟通还是做事都有问题 全面问题
    sampeng
        80
    sampeng  
       297 天前
    没过测试,也没和任何人,包括 leader 说代码合并到 master 的。被喷没任何问题。
    Desiree
        81
    Desiree  
       297 天前
    @kalman03 #73 别过度相信人性,规则本身也是信任的一部分
    xylxAdai
        82
    xylxAdai  
       297 天前
    我们组有各种 git 提交的校验,但是你还是能直接 push --force 往上面硬塞,我怎么没见到有人塞呢?做错了就认错,觉得领导傻逼就说领导傻逼,不能自己先做错了被叼了,还觉得领导屌你这件事傻逼,总得讲点道理吧?
    AhECbt
        83
    AhECbt  
       297 天前
    没出问题最多挨顿屌,出了生产事故,拎包走人的除了你还得连带一票人。年轻人呐,虚心点吧。
    liaojl
        84
    liaojl  
       297 天前 via iPhone
    网上发帖:你冲我 balabala 叫个 p 啊,大煞笔!
    现实中:好的,老板。
    kamalei
        85
    kamalei  
       297 天前
    中国的领导:出了问题都是人的原因
    正常 manager:出了问题 应该反思流程
    tin3w5
        86
    tin3w5  
       297 天前
    楼主的这种情况我之前也遇到过,只不过当事人是一个开发团队的小迷糊,我是那个给他“擦屁股”的运维。
    那个开发团队的 manager 对业务完全不熟,他早些年是写 VB 的,有点 C#的基础。但是现有的业务代码完全看不懂,遇到屁大点事就要把所有能拉到的人都拉过去帮他。小迷糊当天说什么都要把新 feature 发出去,但是当天出了点重大故障,小迷糊的 manager 正在被“一群外援”“簇拥着”,小迷糊就问了一句,他的新 feature 已经好了,我一会把这个 bug 修好之后就 push 了啊!然后让 manager 给他 merge PR 。
    Manager 并不知道这个新 feature 和着急修的 bug ,屁关系没有。
    然后你懂的,测试人员的测试代码只验证功能有没有问题,不验证生产环境的复杂数据进去之后处理的结果,然后 code 通过了检查,直接发给客户了。
    后来,那天晚上,我们一群人为了小迷糊的莽撞提交而加班。最关键的是,小迷糊的 git commit 的 message 内容是“修复了 xxxx (那个 bug )”
    流程得完善,这没问题,但是人也得善于沟通啊!不然只会拔苗助长。
    imycc
        87
    imycc  
       297 天前
    首先你们的变更管理确实不规范,这个责任在项目负责人身上。但上线夹带私货,没出故障只是挨顿骂,出了生产事故轻则扣绩效,重则卷铺盖走人,你可长点心吧。
    别说大型项目,我连两个人开发的小项目,都要走 MR 。一方面是方便做 CR ,另一方面出了问题也方便 revert 。正经项目的要求更加严格。你们那个拒绝设置保护分支的领导,路子太野了,可能还没被生产事故毒打过。
    cirzear
        88
    cirzear  
       296 天前
    我宁愿什么都不做,也不愿做错。
    Redbeanw
        89
    Redbeanw  
       296 天前
    不好评价,都做得不对。
    MrSheng
        90
    MrSheng  
       296 天前
    要不是你的 TL 负责发现你的 commit ,你现在可能在这里骂公司因为你修正了一个线上 bug 给你处分的事了。这不就是大傻逼公司?
    zhangyq008
        91
    zhangyq008  
       296 天前
    你们路子太野了,没有任何发布规范
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1110 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 23:20 · PVG 07:20 · LAX 16:20 · JFK 19:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.