转:【git】取消add、commit操作命令

原博:https://blog.csdn.net/weixin_44147535/article/details/140646056

一. 取消已add的文件

01. 保留工作目录 【变为红色】

git reset D:\workspace\demo\git-demo\src\main\java\com\iteng\git\demo3.java
git reset file1 file2
# 或者
git reset *.txt

02. 从暂存区和工作目录中删除 【文件丢失】

# -f 强制删除
git rm -f <file>

二. 取消已commit的文件

01. 取消最近一次提交(未推送到远程仓库)

使用 git reset

①保留工作目录、暂存区(即只取消提交)------变为绿色

git reset --soft HEAD~1

这会将当前分支回退到上一个提交,但保留所有更改在暂存区。

②保留工作目录(即取消提交、暂存区)------变为红色

git reset --mixed HEAD~1

这会将当前分支回退到上一个提交,暂存区不会被保留。

③文件不保留(即取消提交、暂存区、删除文件)------文件丢失

git reset --hard HEAD~1

这会将当前分支回退到上一个提交,并且丢弃工作目录中的所有更改。

02. 回退到指定的一次提交

git reset --soft abc123
git reset --mixed abc123
git reset --hard abc123

03. 取消已经推送到远程仓库的提交

如果你已经将提交推送到远程仓库,需要更加小心,因为这可能影响其他开发者。以下是一些常用方法:

①使用 git revert

git revert 会创建一个新的提交,撤销指定的提交。这是一个安全的方式,不会影响提交历史。

git revert <commit>  //<commit>版本id号

这将生成一个新的提交,用于撤销指定的提交。

三.总结

01. 取消本地提交:使用 git reset(–soft、–mixed、–hard)根据需要保留或丢弃更改。

02. 取消已经推送的提交:使用 git revert 来创建一个新的撤销提交,或者在确保不会影响其他开发者的情况下使用 git reset 结合 git push --force。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值