迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

撤消 Git 中的更改

作者:迹忆客 最近更新:2023/03/30 浏览次数:

本文介绍了撤消对本地和远程仓库所做更改的各种命令。这些命令包括:

  1. git clean
  2. git reset
  3. git revert

使用 git log 命令检查 Git 中的提交历史

让我们首先看看我们如何检查我们的提交历史。我们使用 git log 命令检查这一点。

pc@JOHN MINGW64 ~/Git (main)
$ git log
commit 195e5c362975354d62ebc469da2e3cd276c7da03 (HEAD -> main)
Author: John <wachirajohnie11@gmail.com>
Date:   Mon Feb 21 12:11:12 2022 +0300
commit 7b19db4b35c1ca15e5ecb8df1f805d44aad62e5f
Author: John <wachirajohnie11@gmail.com>
Date:   Mon Feb 21 10:09:31 2022 +0300
   first commit

该命令仅显示你的工作分支的历史记录。要检查所有分支,请使用以下命令。

git log --branches=*

使用 git checkout 命令查看特定的提交,如下所示。

git checkout

现在你可以访问文件而不会篡改项目的当前状态。使用 git checkout main 命令返回到当前项目工作区。


使用 git clean 命令撤消 Git 中的更改

我们使用 git clean 命令撤消对未跟踪文件的更改。你无法撤消 git clean 命令。

  1. git clean -n 选项充当试用命令。它只显示未跟踪的文件,但不会删除它们。

    例子:

    pc@JOHN MINGW64 ~/Git (main)
    $ git clean -n
    Would remove Hello world.txt
    Would remove Test1.txt
    
  2. git clean --force 命令删除工作目录中所有未跟踪的文件和文件夹。你可以使用 .gitignore 命令抛出异常。

    例子:

    pc@JOHN MINGW64 ~/Git (main)
    $ git clean --force
    Removing Hello world.txt
    Removing Test1.txt
    

    让我们检查文件是否在我们的目录中。

    pc@JOHN MINGW64 ~/Git (main)
    $ git status
    On branch main
    nothing to commit, working tree clean
    

输出显示一个干净的分支。该命令成功删除了文件。


使用 git revert 命令撤消 Git 中的更改

git revert 命令作用于提交所做的更改并覆盖它。我们用它来回到某个点并进行更改。

让我们使用命令来更改我们的 first commit

git revert first commit
#[first commit [7b19db4] Revert 'first commit'
#1 file changed, 1 deletion(-)

你必须通过提交参考。


使用 git reset 命令撤消 Git 中的更改

我们将介绍的最后一个命令是 git reset。该命令在 HEAD 上运行。

  1. git reset --hard 选项更改指定的提交。但是,暂存索引和工作目录中的任何更改都与更改相匹配。所有暂存的提交都会在此过程中丢失。

    例子:

    $ git reset --hard
    HEAD is now at 78129a6 Revert "$first commit"
    

    该命令对 HEAD 执行硬重置。

  2. git reset --mixed 命令将临时索引中的更改保存到你的工作目录。

    例子:

    $ git reset --mixed
    Unstaged changes after reset:
    M       .bash_history
    M       text.txt.txt
    M       text.txt.txt.bak
    

    该命令已将未完成的更改从输出中保存到我们的工作目录中。让我们检查一下我们分支的状态。

    $ git status
    On branch main
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
    		modified:   .bash_history
    		modified:   text.txt.txt
    		modified:   text.txt.txt.bak
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    		.bash_history.bak
    no changes added to commit (use "git add" and/or "git commit -a")
    
  3. git reset --soft 命令仅更改提交历史记录。默认指针始终是 HEAD

    例子:

    pc@JOHN MINGW64 ~/Git (main)
    $ git reset --soft
    pc@JOHN MINGW64 ~/Git (main)
    $ git status
    On branch main
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
    		modified:   .bash_history
    		modified:   text.txt.txt
    		modified:   text.txt.txt.bak
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    		.bash_history.bak
    no changes added to commit (use "git add" and/or "git commit -a")
    

    从上面的输出中,我们的工作目录和暂存索引保持不变。使用提交的哈希值来重置特定的提交。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便