在 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 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