likes
comments
collection
share

我是怎么在公共分支上使用 git 的

作者站长头像
站长
· 阅读数 3

很经常遇到涉及到多人协作,在公共分支开发的一些需求,但总会看到 merge(这个还好理解🤏一点点),回退,强推(黑人问号.jpg)等比较诡异的 git 操作。

所以给大家分享一下我的做法,比较干净,保证后人使用丝滑,对追求 git 节点顺畅的人比较友好,可以放心食用。

  1. 每次代码提交后到再次进行改动前,记得记得记得先 git pull
  2. 本地代码发生改动进行提交,🚶老三部曲:
    1. git add .
    2. git commit -m 'feat: xxx'
    3. git push
  3. 以上如果没有冲突,那,那我这篇文章就白写了🙄️
  4. 还是有冲突吧,我就说有。精华来了:
    1. git log拿到当前你的刚提交的 commit id
    2. git reset --hard HEAD^ (hard 表示强制回退,HEAD后面加^或者~表示回退一个版本,即一个 commit ,也即回到本地未改动前的那个 commit)
    3. git pull拉取线上最新代码(如果线上公共分支没有发生回退之类的会引起节点变化的改动,这将是成功的 pull,否则 pull 可能会有冲突)
      1. 如果有冲突,执行git reset --hard <commit id>git reset —hard HEAD~<n> ( n 代表任意数字,也可以用 HEAD^^^^^,几个^就表示回退几步),这里自己把握,只要确定这个commit之后不会冲突就行
      2. 再执行git pull
      3. 如果还冲突,再回到 i 步骤,直到不冲突为止
    4. git cherry-pick <commit id> (如果 commit id 丢了可以用git reflog,然后根据 commit message 找到丢失的 id hash)
      1. 如果有冲突,修改,然后再执行提交三部曲:
        1. git add .
        2. git commit -m 'feat: xxx'
        3. git push
      2. 如果没有冲突,直接执行git push

希望对你能有些帮助(没帮助关我pi事啊😳)