#######Github 不支持用amend的方式提交代码
1.背景
修复了bug,CodeReview发现代码有问题,修改完以后通过amend的方式提交代码,出现以下异常:

意思就是你当前本地的分支落后线上的分支。
这时候很纳闷了,这个分支只有我自己维护啊,怎么会落后呢?而且在上一家公司都是这么玩的啊,为什么突然就不行了呢?是创建分支的时候有问题吗,还是关联远程分支有问题?
经过多次尝试包括用sourceTree,问题都没有解决。经过一番百度得知,amend适用在代码没有提交到git仓库,也就是没有入库的情况下。
链接如下:https://blog.csdn.net/weixin_42103587/article/details/112100840
灵光一现,现在公司用的是GitHub,每次push代码都直接入库了,所以就没法用amend。
2.旧公司代码管理方式
旧的公司用Gerrit+Git的方式做代码管理,代码提交Gerrit,CodeReview对代码审核,通过了再进行入库操作,如果发现提交的代码有问题,可以修改完以后用amend将修改的代码追加到之前的commit上面(只有一个commit),审核通过再入库。
3.新公司代码管理方式
新公司用GitHub做代码管理,它是用pull request的方式来做代码合并。例如目前代码分支是v1.1,每个人在v1.1的基础上拉出属于自己的分支,例如v1.1-yang,分支由自己维护,功能开放完以后提交到GitHub,然后创建一个pull request(合并到v1.1),CodeReview对代码进行审核,审核通过,自行合并代码,如果发现代码有问题,要么重新提交一个commit或者撤销之前的commit,再提交新的。
4.非得要在GitHub使用amend
push代码时使用git push --force
参考
https://segmentfault.com/q/1010000008670806/a-1020000008672198
网友评论