git中的撤销、删除操作总结(git clean、git checkout和git reset)

编程入门 行业动态 更新时间:2024-10-12 10:19:31

git中的撤销、删除<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作总结(git clean、git checkout和git reset)"/>

git中的撤销、删除操作总结(git clean、git checkout和git reset)

文章目录

  • 1. 删除未跟踪的文件-git clean
  • 2. 已修改,未暂存-git checkout/git reset
  • 3. 已暂存,未提交-git reset
  • 4. 已提交,未推送-git reset
  • 5. 已推送的修改

1. 删除未跟踪的文件-git clean

如下所示,test.cpp为新建文件,它属于未跟踪的文件。使用git clean从你的工作目录中删除所有没有tracked,没有被管理过的文件。删除了就找不回了,一定要慎用。

使用git clean -h查看参数意义:

    -q, --quiet           不打印删除文件的名称-n, --dry-run         演习-f, --force           强制-i, --interactive     交互式清除-d                    删除整个目录-e, --exclude <模式>  添加 <模式> 到忽略规则-x                    也删除忽略的文件-X                    只删除忽略的文件

这里的忽略文件指的是gitignore。如果担心误删,建议每次使用git clean时候,最好加上交互式参数i,避免误删

2. 已修改,未暂存-git checkout/git reset

下列master.txt是被修改过的文件,但是还没有加入暂存区,也就是没有使用git add操作,此时如果不想要这个修改,可以使用git checkout删除此次修改,恢复到修改之前的状态。

使用方式:

#方法一:删除master.txt的修改
git checkout master.txt#方法二:删除所有修改
git checkout .#方法三:回退
git reset --hard

3. 已暂存,未提交-git reset

下列master.txt,已经提交git add,但是没有git commit


此时如果想要删除此次已经提交的修改,也就是说暂存区的内容不想要了,或者只是想要把暂存区的内容还原至修改的状态。可以使用下列的一些命令:

#方法一:删除暂存区和修改的工作区
git reset --hard#方法二:只是把暂存区回退至修改的状态
git reset HEAD#方法三:只是把暂存区回退至修改的状态
git reset HEAD file.txt

4. 已提交,未推送-git reset

如果已经进行至git commit,但是还没有push至远程,这种情况直接回退版本就可以了。

#方法一:回退至上一版本
git reset HEAD^
#注意 HEAD 就是回退到当前版本,git reset HEAD^ 回退到上一版本#方法二:回退至指定版本 
git reset <版本号> #git log 去查版本号# 方法三:只是撤销commit,撤回至git add的状态,结合第4步可以回退至修改前的版本
git reset --soft HEAD^# 方法四:使用远程仓库覆盖本地仓库
git reset --hard origin/master 

5. 已推送的修改

如果把本地的代码push至远程,此时可以采用回滚的形式回退版本,然后强制推送覆盖远程仓库。

以此执行下列代码:

git reset --hard HEAD^ #回退至上一版本
git push origin HEAD --force #强制提交一次,之前错误的提交就从远程仓库删除

如果还想要找回之前的修改,可以使用git reflog,或者结合第四步一起使用。

更多推荐

git中的撤销、删除操作总结(git clean、git checkout和git reset)

本文发布于:2024-02-27 00:48:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704597.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   git   clean   reset   checkout

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!