[Git]git的一些常用操作笔记

回滚到某次历史提交
git log:查看分支提交历史,确认需要回退的版本
git reset --hard commit_id:进行版本回退
git push --force origin:推送至远程分支


合并提交记录
git log:查看分支提交历史,确认需要开始合并的最初版本,应选取最初版本的前一个版本
git rebase -i commit_id:进入版本合并vim编辑模式,大概如下:

pick acf6d24 优化
pick 0353373 增加逻辑
pick 1234567 增加其他功能

# Rebase 2169bc5..0353373 onto 2169bc5 (2 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit

将第二行的pick改为s或者squash,意思是把“优化”和“增加逻辑”两次提交记录合并成一次,而“增加其他功能”保留原有提交记录,
然后输入:wq保存,然后会到修改提交注释的界面,不改的话直接:q退出,否则修改后:wq保存退出

git log:确认提交记录是否正确修改
git push --force origin:推送至远程分支


修改提交记录注释

git log:查看分支提交历史,确认需要开始合并的最初版本,应选取最初版本的前一个版本
git rebase -i commit_id:进入版本合并vim编辑模式,大概如下:

pick acf6d24 优化
pick 0353373 增加逻辑
pick 1234567 增加其他功能

将要修改的那行的pick改成reword,输入:wq保存退出,然后会到修改提交注释的界面,修改注释后:wq保存退出

git log:确认提交记录是否正确修改
git push --force origin:推送至远程分支


剔除某次提交
比如在master分支,有以下提交历史:

42eae13 (HEAD -> master) 第四次修改
97ea0f9 第三次修改
e50b7c2 第二次修改
3a52650 第一次修改

如果发现第三次修改有错误,想要剔除第三次修改,却要保留第四次修改呢?

这个时候就可以用revert命令:

git revert -n 97ea0f9
git commit -m "恢复第三次修改"


Git提交历史会变成:

33b8b30 (HEAD -> master) Revert "恢复第三次修改"
42eae13 第四次修改
97ea0f9 第三次修改
e50b7c2 第二次修改
3a52650 第一次修改
实际上,Git把第三次修改从提交中剔除(还原)了,还保留了第四次修改,并且产生了新的commit_id


如果要查看完整的提交记录,可以用命令:

git reflog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值