个性化阅读
专注于IT技术分析

Git revert还原

本文概述

在Git中, 术语“还原”用于还原某些更改。 git revert命令用于应用还原操作。这是一个撤消类型命令。但是, 这不是传统的撤消选择。在此过程中, 它不会删除任何数据。相反, 它将创建一个具有相反效果的新更改, 从而撤消指定的提交。通常, git revert是一个提交。

这对于跟踪项目中的错误很有用。如果要从历史记录中删除某些内容, 那么git revert是错误的选择。

此外, 我们可以说git revert记录了一些新更改, 这些更改与以前的提交相反。要撤消更改, 请运行以下命令:

句法:

$ git revert

Git还原选项

Git还原允许进行一些其他操作, 例如编辑, 不编辑, 清除等。让我们简要地了解这些选项:

<commit>:commit选项用于还原提交。要还原提交, 我们需要提交参考ID。 git log命令可以访问它。

$ git revert <commit-ish>

<-edit>:用于在还原提交之前编辑提交消息。这是git revert命令中的默认选项。

$ git revert -e <commit-ish>

-m父编号/-主线父编号:它用于还原合并。通常, 我们无法还原合并, 因为我们不知道应该将合并的哪一侧视为主线。我们可以指定父代号, 并允许还原以相对于指定父代撤消更改。

-n /-不编辑:此选项将不会打开文本编辑器。它将直接还原上一次提交。

$ git revert -n <commit-ish>

–cleanup = <模式>:cleanup选项确定如何从消息中删除空格和注释。

-n /-no-commit:通常, 默认情况下, revert命令会提交。 no-commit选项将不会自动提交。此外, 如果使用此选项, 则索引不必与HEAD提交匹配。

no-commit选项对于将多个提交效果连续还原到索引中很有用。

让我们了解如何还原以前的提交。

Git恢复为先前的提交

假设你对项目的文件newfile2.txt进行了更改。之后, 你提醒你在错误的文件或错误的分支中进行了错误的提交。现在, 你要撤消所做的更改。 Git允许你纠正错误。考虑下图:

Git revert还原

从上面的输出中可以看到, 我在newfile2.txt中进行了更改。我们可以通过git revert命令撤消它。要撤消更改, 我们将需要提交。要检查提交, 请运行以下命令:

$ git log

考虑以下输出:

Git revert还原

在上面的输出中, 我已复制了最新的commit-ish以进行还原。现在, 我将对该提交执行还原操作。它将作为:

$ git revert 099a8b4c8d92f4e4f1ecb5d52e09906747420814

上面的命令将还原我的上一次提交。考虑以下输出:

Git revert还原

从上面的输出中可以看到, 在存储库上所做的更改已还原。

Git恢复合并

在Git中, 合并也是一个至少有两个父母的承诺。它连接分支和代码以创建一个完整的项目。

Git中的合并是至少有两个父级的提交。它汇集了多条开发线。在工作流中, 功能是在分支中开发, 然后合并到主线中, 合并提交通常会有两个父级。

如何还原合并

通常, 还原合并被认为是一个复杂的过程。如果操作不正确, 可能会很复杂。我们将借助git revert命令撤消合并操作。尽管其他一些命令(如git reset)也可以做到。让我们了解如何还原合并。考虑下面的例子。

我在测试中对文件design2.css进行了一些更改, 并将其与test2合并。考虑以下输出:

Git revert还原

要还原合并, 我们必须获取其参考号。要检查提交历史记录, 请运行以下命令:

$ git log

上面的命令将显示提交历史记录。考虑以下输出:

Git revert还原

从上面的输出中, 复制要还原的合并提交, 然后运行以下命令:

$ git revert <commit reference> -m 1

上面的命令将还原合并操作。在这里, -m 1用作第一个父级的主线。合并提交有多个父母。还原需要其他信息来确定应将合并的父级视为主线。在这种情况下, 将使用参数-m。考虑以下输出:

Git revert还原

从上面的输出中, 我们可以看到先前的合并已还原。


赞(0)
未经允许不得转载:srcmini » Git revert还原

评论 抢沙发

评论前必须登录!