[Git使用] Git结合Gerrit的实战技巧

1. Gerrit的安装配置

JAVA + Apache + Gerrit
Gerrit安装参考这个
配置文件参考这个

2. 修改某一次提交

场景1——对象(最近的一次提交),操作(追加文件+修改commit信息)

amend,changeId保持一致

场景2——对象(最近的一次提交),操作(撤回某一个文件)

reset --soft
重新推,原来的abandon掉

场景3——对象(非最近一次提交),操作(追加文件+修改commit信息):New Branch方法

在这里插入图片描述
目标:对提交1新增一个文件,并且修改它的信息
操作:

  1. 右键new Branch
  2. 在新分支里,新增文件,点击amend commit,带上changeId。
  3. push 记得修改分支名称
    在这里插入图片描述
  4. 最终效果:不会产生新的提交,但是对本次提交进行了修改
    在这里插入图片描述
    在这里插入图片描述

场景3 延申处理

在上述场景中,由于[第1次提交]在新分支追加提交了,当切回第五次提交时,此时追加提交的记录并不会出现。
在这里插入图片描述
个人做法:

  • 比较蠢的,但在简单场景下(涉及到的代码不多的情况下)也能解决问题。
    checkout到develop分支的最新commit [第5次提交]
    从刚刚那笔提交中,cherrypick需要更新的文件,
    再commit或者amend一笔提交,不要push到远程就好。
    可以解决问题,但是会导致本地仓库的commit比较混乱
  • merge 会产生分叉点
    checkout到要的最新节点
    工具栏,merge目标节点,解决冲突
    在这里插入图片描述
  • rebase 这个应该是标准的做法
    跟merge流程一样
    在这里插入图片描述

场景4—— 对象(某一次提交),操作(撤回其中的一个文件)

  • 找到目标提交,在该处new Branch

  • 在新分支里,找到要撤回的文件,右键revert
    在这里插入图片描述

  • 选中要撤回的文件,commit 后 push (检查changeId)
    在这里插入图片描述

  • 当要进行rebase时候,本地可能会产生一笔多余的提交可以进行drop commit消除掉

场景5:对象(非最近一次提交),操作(追加文件+修改commit信息): 不需要new branch的方法 使得本地比较干净

比如修改提交六
1.在本地commit提交需要改的东西 记住一定不要push到远程
2.选中第六笔提交,右键 选择interactive rebase here
在这里插入图片描述
3. 选择合并sqush要合并的提交
4. 再远程push就好

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值