git 重设url_如何重设Git?
git reset
或git-reset
命令用于将更改重置为Git软件中的先前版本。 Git reset之所以被广泛使用,是因为它具有功能,我们可以将其恢复为所需的任何版本。 将更改恢复到背面可以通过不同的方式完成。 “硬重启”是一种永久删除指定更改且无法恢复的方法。
硬重置与软重置 (Hard Reset vs Soft Reset)
There is two reset methods named as Hard Reset
and Soft Reset
. Hard Reset will remove all the working directory and staging are files and index. But the Soft Reset will not alter the working directory and the index. This means in the Soft Reset the changed between original HEAD and the current HEAD will be staged.
有两种重置方法,分别称为Hard Reset
和Soft Reset
。 硬重置将删除所有工作目录,并且暂存是文件和索引。 但是软重置不会更改工作目录和索引。 这意味着在软重置中,将暂存原始HEAD与当前HEAD之间的更改。
列表提交 (List Commits)
Before hard reset, we may need to list the commits in order to get more reliable information because the hard reset will delete persistently and there is no way to get back deleted files. We can list last commits with the git log command. Also, extra options can be specified to change the commit list format.
在进行硬重置之前,我们可能需要列出提交以获取更可靠的信息,因为硬重置将永久删除,并且无法取回已删除的文件。 我们可以使用git log命令列出*后的提交。 另外,可以指定其他选项来更改提交列表格式。
-
git log
-
-
$ git log –oneline
-
-
$ git log –graph
-
-
$ git log –oneline –graph
硬重置到头部(Hard Reset To The Head)
One of the most used git hard reset operation is resetting to the head. Developers generally makes some changes in the HEAD and then do not like and reset back to the HEAD. As hard reset will remove all changes hard reset to the HEAD commit is used. Keep in mint that the following command will remove all changes and the changes can not be bring back.
*常用的git硬重置操作之一是重置磁头。 开发人员通常会对HEAD进行一些更改,然后不喜欢并重置回HEAD。 由于硬重置将删除所有更改,因此将使用对HEAD提交的硬重置。 请注意,以下命令将删除所有更改,并且这些更改无法恢复。
$ git reset --hard HEAD
硬重置到头部前右 (Hard Reset To The Right Before Head)
Well in some cases we may need to hard reset to the previous commit before the HEAD. We can use the ^
sign in order to specify the previous commit before HEAD and use the git reset --hard
command like below.
在某些情况下,我们可能需要硬重置为HEAD之前的上一次提交。 我们可以使用^
符号来指定HEAD之前的上一次提交,并使用git reset --hard
命令,如下所示。
$ git reset --hard HEAD^
硬重置为头部之前的指定提交次数 (Hard Reset To The Specified Number of Commits Before Head)
Also we can specify the commit count before the HEAD in order to reset. We will use the tilda sign ~
and the number of commits we want to reset back from the HEAD. In the following example we will hard reset 8 commits before HEAD.
另外,我们可以在HEAD之前指定提交计数以进行重置。 我们将使用tilda符号~
以及要从HEAD重新设置的提交次数。 在下面的示例中,我们将在HEAD之前硬重置8个提交。
$ git reset --hard HEAD~8
硬重置为特定提交 (Hard Reset To The Specific Commit)
Hard reset can be done without HEAD related commit specification. We can hard reset to the specific commit by providing the commit hash like below.
可以在没有HEAD相关提交规范的情况下完成硬重置。 我们可以通过提供如下所示的提交哈希值来硬重置为特定的提交。
$ git reset --hard 29c6a536042915c8ed49