Git回滚操作,工作区和暂存区恢复修改删除的文件

在利用git协作过程中,经常需要进行代码的撤销操作,这个行为可能发生在工作区,暂存区或者仓库区(或版本库)。

我们先讨论在工作区与暂存区发生的撤销行为,这里会有两个命令提供帮助,git restore与git checkout。

后面我们会讨论在仓库区发生的撤销行为,这里同样会有两个命令提供帮助,git reset与git revert。

工作区和暂存区回滚

git restore

git restore主要是在工作区与暂存区之间进行撤销操作。

撤销工作区文件更改

我们在工作区修改了某个文件,然后我们想放弃此次修改,那么可以使用git restore 文件路径。修改文件后,我们查看文件状态,可以看到文件状态已经变化。

git status -s

输出:
 M README.md


// 回滚所有变动的文件
git restore *


// 回滚某个文件
git restore README.md

如果我们同时修改了多个文件,想全部撤销,则可以执行git restore .命令

结论:git restore pathspec 指令使得在工作空间但是不在暂存区的文件撤销更改(内容恢复到没修改之前的状态)。

撤销暂存区文件更改

git restore --staged pathspec指令将暂存区的文件撤回到工作区,但不会更改文件的内容。我们将某个文件进行修改并添加到暂存区,查看状态。

git status 

输出:
...
Changes to be committed:
  ...
        modified:   README.md



进行撤销后,再进行状态的查看:
git restore --staged README.md  

git status

输出:
...
Changes not staged for commit:
  ...
        modified:   README.md
...

如果我们想撤销暂存区的所有文件改动到工作区,则可以执行git restore --staged .命令

从上面我们能看出git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

1024小神

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

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

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

打赏作者

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

抵扣说明:

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

余额充值