Git Revert17 Mar 2025 | 4 分钟阅读 在 Git 中,术语“revert”用于还原一些更改。 git revert 命令用于应用 revert 操作。它是一个撤销类型的命令。但是,它不是传统的撤销替代方案。它不会在此过程中删除任何数据;相反,它将创建一个具有相反效果的新更改,从而撤销指定的提交。通常,git revert 是一个提交。 它可以用于跟踪项目中的错误。 如果你想从历史记录中删除某些内容,那么 git revert 是一个错误的选择。 此外,我们可以说 git revert 记录了一些与先前提交相反的新更改。 要撤销更改,请运行以下命令 语法 Git Revert 选项Git revert 允许一些额外的操作,如编辑、不编辑、清理等等。 让我们简要了解这些选项 < commit>: commit 选项用于还原提交。 要还原提交,我们需要提交引用 id。 git log 命令可以访问它。 <--edit>: 它用于在还原提交之前编辑提交消息。 它是 git revert 命令中的一个默认选项。 -m parent-number /--mainline parent-number: 它用于还原合并。 通常,我们无法还原合并,因为我们不知道合并的哪一侧应被视为主线。 我们可以指定父编号,并允许 revert 逆转相对于指定父级的更改。 -n/--no edit: 此选项不会打开文本编辑器。 它将直接还原最后一个提交。 --cleanup=<mode>: cleanup 选项确定如何从消息中删除空格和注释。 -n/--no-commit: 通常,revert 命令默认提交。 no-commit 选项不会自动提交。 此外,如果使用此选项,您的索引不必与 HEAD 提交匹配。 no-commit 选项有利于依次还原多个提交的影响到您的索引。 让我们了解如何还原之前的提交。 Git 还原到之前的提交假设您对项目的某个文件(例如 newfile2.txt)进行了更改。 后来,你提醒说你在错误的文件或错误的分支中做了错误的提交。 现在,您想撤销更改,您可以这样做。 Git 允许您纠正错误。 考虑下图 ![]() 如您从上面的输出中看到的,我已对 newfile2.txt 进行了更改。 我们可以通过 git revert 命令来撤销它。 要撤销更改,我们需要 commit-ish。 要检查 commit-ish,请运行以下命令 考虑下面的输出 ![]() 在上面的输出中,我复制了最新的 commit-ish 来还原。 现在,我将对这个提交执行 revert 操作。 它将操作为 上面的命令将还原我的最后一次提交。 考虑下面的输出 ![]() 如您从上面的输出中看到的,对存储库所做的更改已被还原。 Git 还原合并在 Git 中,合并也是一个至少有两个父级的提交。 它连接分支和代码以创建一个完整的项目。 Git 中的合并是一个至少有两个父级的提交。 它将多个开发行结合在一起。 在一个功能在分支中开发然后合并到主线的流程中,合并提交通常会有两个父级。 如何还原合并通常,还原合并被认为是一个复杂的过程。 如果操作不正确,它可能很复杂。 我们将借助 git revert 命令撤消合并操作。 尽管一些其他命令,如 git reset 可以做到这一点。 让我们了解如何还原合并。 考虑以下示例。 我已对测试中的文件 design2.css 进行了更改,并将其与 test2 合并。 考虑下面的输出 ![]() 要还原合并,我们必须获取其参考号。 要检查提交历史记录,请运行以下命令 上面的命令将显示提交历史记录。 考虑下面的输出 ![]() 从上面的输出中,复制您要还原的合并提交并运行以下命令 上面的命令将还原合并操作。 这里,-m 1 用于第一个父级作为主线。 合并提交有多个父级。 还原需要额外的信息来决定合并的哪个父级应被视为主线。 在这种情况下,使用参数 -m。 考虑下面的输出 ![]() 从上面的输出中,我们可以看到之前的合并已被还原。 下一个主题Git Reset |
我们请求您订阅我们的新闻通讯以获取最新更新。