这个命令让我损失百万,希望你永远用不到这个命令git clean -f

因为一些无关的报错,让我想到了清理一下git的无跟踪文件,也就是这个命令让我后背发凉。。

git clean -f 要知道这个命令是你提交了一些才有可能找回代码,如果没有提交历史,那恢复代码是不能的了

发现这个命令有一种冒泡的机制,会向上层找你的git记录,也就是说当前文件夹没有会向上一层目录,就这样被自己删除了一些文件,开启查找去恢复,被告知当项目没有git源的时候无法恢复,那么就以此为戒吧,重温下git命令。

/********删除未追踪文件,推荐永远不用****/


*删除untracked files-
$ git clean -f
*连 untracked 的目录也一起删掉
$ git clean -fd
*连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
$ git clean -xfd
*在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删

$ git clean -nxfd
$ git clean -nf
$ git clean -nfd


取消修改(在工作区):

$ git checkout – file_name.txt单个文件
$ git checkout .所有文件

取消已暂存的文件:
可以使用 git reset HEAD … 的方式取消暂存,返回已修改未暂存的状态:
$ git reset HEAD benchmarks.rb

撤销未push的commit到你想恢复到的commit_id:
$ git reset --hard commit_id返回到某个节点,不保留修改。
$ git reset --soft commit_id返回到某个节点,保留修改。

修改最后一次提交:
有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:
$ git commit --amend
如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

$ git commit -m ‘initial commit’
$ git add forgotten_file
$ git commit --amend
撤销某次提交:
git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交:
$ git revert HEAD 撤销前一次 commit
$ git revert HEAD^ 撤销前前一次 commit
$ git revert HEAD~n 撤销前N次的commit
$ git revert commit_id (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weifont

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

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

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

打赏作者

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

抵扣说明:

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

余额充值