git如何撤销上次提交

git push提交完数据后后悔了怎么办?

写在前面的话重要:删除上次提交后本地和远程仓库的数据都将删除,所以删除上次提交前,记得备份备份备份数据!!!

1.直接删除上次提交,使用reset命令

git reset --hard HEAD^
git push origin master -f

HEAD是指向最新的提交,上一次提交是HEAD^,上上次是HEAD^^,也可以写成HEAD~2 ,依次类推。

1.1删除上次提价还可以使用revert命令

git revert HEAD
git push origin master

1.2 两者差别:

revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

2. git log后怎么退出?

使用git log之后无法回到主页面,如下图所示,最后只能暴力关闭git bash。
解决方法其实很简单,输入字母Q即可退出。

 

git commit但是没有git push,想要修改commit的信息怎么办?

 

1. 查看最近3次commit的简要信息,输出信息为:简短commitID commit_message,可以根据需要查看最近n次的提交,也可以git log -3

git log --oneline -3

 

2. 如果需要修改从上往下第2个commit_message,这里的简短commitID为上面输出信息的第3个,以此类推。

git rebase -i <简短commitID>

 

3. 按insert键,进入编辑模式,将想要修改的提交前的pick改为reword,如果需要修改多个,也可以将对应的多个pick改为reword

4. 编辑完成后按ESC键退出编辑模式,再按 shift + :  然后输入wq(w是保存,q是退出),最后按回车键

 

快捷操作:

1. 修改最近一次的commit 信息,输入以下命令进入vim编辑模式,修改最近一次的commit信息

git commit --amend

2. 退出保存 :wq
3. 执行 git push

 

posted @ 2018-12-05 22:54  小方块的世界  阅读(82410)  评论(0编辑  收藏  举报