在 Git 中撤消签出

Abdul Jabbar 2022年4月22日
在 Git 中撤消签出

命令 git checkout 命令用于将仓库更新到项目历史中的特定点。当我们将分支名称传递给它时,它会切换到我们想要当前位置的分支。

该命令还用于撤消 git add 命令。git checkout 命令不会更改工作目录。它只更新当前项目的索引文件和仓库。

git checkout 命令也可用于恢复使用某些 git 命令意外删除的文件或目录。它还可以用于撤消 git move to another folder 命令。

在 Git 中撤消签出

对于撤消,首先,我们将执行下面提到的命令来检查某个特定的分支;在我们的例子中,我们正在检查 master 分支。

git checkout master 

如果我们不在 master 分支上,那么我们将使用该分支的名称而不是提及 master。如果它不起作用,我们将对仓库中的单个文件尝试下面提到的命令。

git checkout HEAD /path/to/file 

如果我们想为整个仓库工作副本执行怎么办?我们将运行以下命令来执行此操作。

git reset --hard HEAD

如果上面提到的命令也不起作用,我们将在 reflog 中查找我们的旧头 SHA,并将重置为以下配置。

git reflog git reset --hard <sha from reflog>

HEAD 可以被称为总是指向我们当前分支中最近提交的名称。

如果我们不在同一个分支,那就和我们的分支头一样。或者,如果我们在错误的分支上,请使用我们打算所在的分支的名称而不是 HEAD。

换句话说,HEAD 是我们当前正在处理的分支中最新提交的名称,并且它已经被签出。

git reset --hard HEAD

如果我们想要重置以检出或反转来自另一个分支的错误命令的影响,我们也可以使用不同分支的名称。

提示: reflog 就像我们迄今为止所做的所有提交的所有 SHA-1 值的日志。我们有时可以使用这些 SHA-1 值来查找我们在上次提交中移出的旧提交的 SHA-1 值。

提示:如果我们在错误的分支上并且我们想回到我们之前所在的分支,我们可以使用以下 Git 命令来执行此操作:

git checkout <branch we want to switch to
作者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相关文章 - Git Checkout