跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 想要往已经 push 的 commit 追加修改,不想产生新的 commit 的规范做法?
未分類
21 7 月 2020

想要往已经 push 的 commit 追加修改,不想产生新的 commit 的规范做法?

想要往已经 push 的 commit 追加修改,不想产生新的 commit 的规范做法?

資深大佬 : tlerbao 7

如题

往已经 push 的 commit 里追加修改的比较规范的做饭是怎样的?

大佬有話說 (29)

  • 資深大佬 : wfd0807

    实现不规范操作的规范做法? reset header + force push 规范吗?

  • 資深大佬 : sarvatathagata

    git commit –amend && git push -f

  • 資深大佬 : xcold

    git commit –amend && git push –force-with-lease

  • 資深大佬 : tinycold

    rebase -i 能合并 commit,但是不知道能不能合并已经 push 了的。

  • 資深大佬 : ryd994

    @tinycold rebase 之后也需要 push -f
    任何修改历史的操作都需要 push -f

  • 資深大佬 : skwfar

    rebase 就完事,然后 force push

  • 資深大佬 : lhx2008

    push 了没救了,打 patch 就行,-force 本来就不规范

  • 資深大佬 : SingeeKing

    master / develop 分支:首先直接推到这两个分支本身就已经不规范了(正常情况下应当直接禁止直接 push 的),既然不规范,那么在确保没有别的问题(最好是不要有任何其他协作人,并且自己保证本地没有基于现有提交的分支)的情况下直接 amend commit + force push 吧;如果禁用了 force push,那么就老老实实新增一个 commit 吧

    其他分支( feature / hotfix / release 等):确保没有其他人也在这个分支之上工作就大胆的 amend commit + force push 吧,反正最后 merge 的时候应该也是 sqash 的

  • 資深大佬 : nightwitch

    没有规范做法,修改已经 push 的历史都要 force push

  • 資深大佬 : edk24

    -f 的, 你的同事很快会过来打断你的狗腿… 🙂

  • 資深大佬 : himself65

    规范就是不应该直接操作 master 分支……

  • 資深大佬 : yinheli

    如果是自己的分支,可以做 rebase, –amend (最近的一次)然后 force push 上去,如果有别人协作的 master 、develop 分支就不行(一般这种也会在服务器端通过 hook 禁止掉)

  • 資深大佬 : Nielsen

    开个玩笑,怎么抢劫才能不犯法……

    没有恶意哈,但毕竟你已经 push 了,再追加修改这就是不对的。当然你如果问一圈同事大家都还没 pull,那你 -f 一下也就当没人知道了。

  • 資深大佬 : xcstream

    禁止-f

  • 資深大佬 : msg7086

    Git 本来也就没有什么规范不规范的。
    各个公司都有自己的规范,你也可以定自己的规范。比如我们做开发,force push 是家常便饭,和我合作的同事都知道怎么正确处理 force push,犯不着把 Git 提供的这么好用的功能给莫名其妙禁掉。当然,如果周围是连 force push 怎么正确处理都不知道的同事,还是保守点比较好。就像我曾经遇到过连开分支都不知道怎么开的同事,结果咱们就只能当 SVN 用了。

  • 資深大佬 : jagger2048

    这边是

    git add -u
    git commit –amend –no-edit
    git push xxx

  • 資深大佬 : noobcoder1

    直接用 git flow 吧 省的烦

  • 資深大佬 : rrfeng

    不可以。
    上面说的重新提交然后 push –force 实际上还是生成了新的 commit 。答案是绝对不可以。

  • 資深大佬 : lloovve

    直接修改提交不行?怕别人觉得自己弱鸡?

  • 資深大佬 : lloovve

    谁也不能保证自己的代码没 bug

  • 資深大佬 : msg7086

    @rrfeng
    这里我觉得有一定的语言二义性。
    因为主说要往 commit 追加修改,那就是 update commit 。
    既然 update 了,那 update 完了的 commit 自然是「新的」。
    主的意思应该是不产生多余的 commit 的意思。

    @lloovve
    源代码管理工具的目标是管理源码,而不是为了提交而提交。
    既然是管理,就要有规范。相同功能的修改整合在一起,不同功能或部位的修改拆开。
    不停地追加提交,最后不同功能的更改犬牙交错混在一起,既不方便 Code Review,万一遇到需要回滚功能的时候也没法干净地区分并回滚一小部分提交。
    所以比较专业的 Git 用户都会整理提交记录的。

  • 資深大佬 : xuanskyer

    你都要修改之前的 commit 了,还有啥规范不规范的。。

  • 資深大佬 : mxT52CRuqR6o5

    都 force 了还有啥规范可言,自己掂量掂量怎么影响最小吧

  • 資深大佬 : est

    证明没有测试环境。

  • 資深大佬 : iseki

    话说,如果推完三分钟内 push -f (估么着没人 pull )是一个不太好的做法吗

  • 資深大佬 : lloovve

    代码修改本来就是线性的,怎么整理,也是不能一次改动就完备,git 最大的作用就是记录。大多数时候是分开发分支和稳定分支,说白了,你要做的是分支管理

  • 資深大佬 : 1010011010

    我觉得要治的是强迫症,人非圣贤孰能无过,你觉得完美的提交在别人看来可能并不完美

  • 資深大佬 : lizytalk

    force push 肯定是需要的,也肯定是不合规范的…

  • 資深大佬 : optional

    @iseki 不要忘了 ci 之类的

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具