【git】撤销操作

1. 使用git一般会涉及到四个区,disk, staging, local, remote,初始情况下,四个区域保持同步。

2. 当修改disk后,可以通过以下命令查看和撤销修改

git diff
#查看对哪些文件做了修改
git status
# 查看哪些文件做了修改并未提交到stage区
git checkout changed_file 
or
git restore changed_file
#撤销对文件的修改

3. 当使用git add将文件放入staging时,可通过以下命令撤销

git reset changed_file
or
git restore --staged changed_file
# 把文件从暂存区(staging)移出,commit时不会commit此文件,不会对硬盘上的源代码进行修改。

git checkout HEAD changed_file
#把文件从暂存区移出,并撤销对硬盘的修改。

4. git commit 之后的撤销

git reset --soft HEAD~1
#只撤销commit,HEAD表示最近的一次commit,~1表示之前一个。此命令会将local git变回之前一次的commit。此命令之后,硬盘中文件不变,此命令也会在暂存区,只是撤销了local git的commit。

git reset HEAD~1
or
git reset --mixed HEAD~1
#同时撤销git commit 和 git add, 只保留硬盘上的修改。

git reset --hard HEAD~1
#同时撤销git commit, git add 和对硬盘的修改,完整的恢复到初始状态。

#如何想退回到之前两个commit的状态 HEAD~2

git revert HEAD
#相当于在change的基础上增加了一个-change,最终结果也会回到 HEAD~1的版本,但会增加一个commit。
#git revert 可以撤销之前任意一个commit
#当修改是公有分支时,只能使用git revert命令(共有分支只能增加commit,不能减少commit)
#当修改时个人分支时(此分支只有一个人使用),可以使用git reset命令,但当push到远端时需要使用
git push -f   
# -f force push

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值