Github撤销更改

Github撤销更改,用于记录与分享,共勉。

有时我们在使用GitHub的时候,修改了一部分内容,但是我们发现思路不符合,但是文件已经修改了很多,不可能一一返回修改,此时我们需要恢复到上次提交内容。

 

场景1:

需要撤销的内容文件属于未跟踪的状态,即只修改但是没有运行git add 和commit命令的情况。

运行git status查看类似以下状态:

撤销修改的方法:

git checkout .

会自动恢复到最近一次提交的状态,也就是修改前的状态。

 

情景2:

需要撤销的内容已经运行过git add命令,但是未执行git commit命令提交。

撤销修改的方法:

git reset

git checkout .

git reset命令会删除暂存的更改,即与情景1类似;git checkout .命令恢复已经修改的文件。

 

情景3:

需要撤销的内容运行了git add命令和git commit命令。

我们新建一个test.c文件来测试。

解决方法:

git reset --hard HEAD^

这样会直接恢复到上次提交的状态,原来新建的文件会直接被删除,修改的文件也会被复原。

如果只是想撤销提交,不想删除本地文件,可以使用以下方法:

git reset --soft HEAD^

这样操作后就只是撤销了commit修改的内容依然是可以保留的。恢复到情况2的情况。

HEAD^:表示上一个版本,即上一次的commit,也可以写成HEAD~1。

如果是进行两次commit,都想撤回,那么可以使用HEAD~2。

--soft:不删除工作空间的改动代码 ,只撤销commit,不撤销git add file。

--hard: 删除工作空间的改动代码,撤销commit且撤销add。

 

情景4:

需要撤回的内容已经push推送到远程服务器,即已经可以在GitHub网页上看到修改的内容。但是发现内容有错误的地方,需要撤销上次推送的内容并且改正。

解决方法:

1.先撤回commit提交

git reset --soft HEAD^

2.撤销add跟踪

git reset HEAD + 文件名

或者撤销全部add的文件:

git reset

3.重新修改文件后重新提交:

git add .

git commit -m “注释:重新提交的正确内容”

4.强制推送

git push --force

参数--force为强制推送,这样操作后,就可以到GitHub网页上看,之前错误的提交已经被重新提交的正确内容取代。

 

到此,GitHub撤销更改的操作已经完毕。

此文是自我学习的记录与分享,如果文中有不对的地方,请不吝留言指正,感谢大家。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值