git commit操作进阶

目录

1.代码追加提交

2.合并本地多笔commit记录 

3.删除本地提交中的提交记录


代码提交一个功能点一笔提交记录,干净利落,也便于代码分支维护及代码合并。

1.代码追加提交

如果是最近的一笔代码被打回重新修改,我们可以直接针对问题点进行修改,修改后重新进行代码git add(rm )commit 操作,注意此时commit可以使用 git commit --amend 将提交以追加提交的方式合并到最近的一笔提交记录上。

例如:在一笔修改提交本地分支后发现一个文件test6.txt未提交。

此时可以直接对文件test6.txt进行add和追加提交。

此时弹出提交内容信息:

补充提交信息即可。

当然除了代码有问题外,比如提交信息写错了,也可以使用git commit --amend 命令重新填写提交信息。

如此操作后,新的修改就补充追加到最后一笔提交记录的log里面了。

注意:在代码提交评审入库前,进行追加提交,如代码入库后再进行追加提交,后追加提交到本地的代码无法提交入库,需要想其他办法提交。

2.合并本地多笔commit记录 

例如我这里有四笔提交文件的操作:

四笔操作依次提交文件file1.txt file2.txt  file3.txt  file4.txt 接下来我这边使用git rebase命令对四笔提交合二为一。

命令:git rebase -i HEAD~4

以上命令会把最近的四笔提交进行rebase操作。

可以看到可以使用 squash、fixup 指令,区别是 squash 会将该 commit 的注释添加到上一个 commit 注释中,fixup 是放弃当前 commit 的注释;这里使用squash进行操作,操作后,需要填写合并后的commit信息。

修改commit信息保存。使用git log查看:

可以看到四笔提交合并到一笔提交记录上去了,清爽!

3.删除本地提交中的提交记录

同样那上面的四笔提交记录为例,此时我们想合并file1.txt和file3.txt的提交而删除file2.txt和file4.txt提交。

我们同样使用:

git rebase -i HEAD~4

需要注意此时我们使用drop参数。

我们使用drop对file2.txt和file4.txt的记录进行删除。

合并后我们可以git log:

查看目录文件:

可以看到,合并后2和4的记录不在了 ,对于操作的文件也不在了,清爽!

最后延伸一个命令:

git reflog

git reflog可以把我们进行过的git操作进行记录,可以看到,我们git rebase的几条记录其实被git分解执行了。

因本文主要讲解commit相关操作,不对reflog做深入讲解,更多:reflog做详细介绍可参考:git reflog用法回顾

小结:

命令:git commit --amend            追加commit

          git rebase -i  HEAD~4         对最近的4笔提交进行rebase操作。

微信交流群

 

 

微信扫描关注更多精彩

 

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT_熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值