📜  Git——改变历史

📅  最后修改于: 2022-05-13 01:56:44.457000             🧑  作者: Mango

Git——改变历史

Git 提供了一个非常重要的选项来改变提交历史。作为 git 的高手,你可以根据自己的需要来控制它并使其函数。 Git 赋予您更改提交顺序、更改消息、完全删除提交的权限。此外,它还允许您管理项目的历史记录。但是,建议在彻底审查后提交工作。在这里,您将了解以下内容。

  • git commit ––修改
  • git rebase
  • git 过滤器分支

git commit - - 修改
此命令允许您更改最近的提交。它有助于更改消息或添加或删除文件。该命令将先前的提交消息加载到编辑器会话中,您可以在其中更改消息并保存这些更改并退出。当您保存并关闭编辑器时,编辑器会写入一个包含更新的提交消息的新提交,并将其设为您新的最后一次提交。这个命令用一个新的提交完全替换了最后一个提交。

  • git commit --amend -m "Updated message"该命令直接更新消息,无需打开编辑器。
  • git commit – – amend –no-edit此选项可帮助您在不更改提交消息的情况下提交剩余更改(如果有)。

git rebase该命令用于修改提交返回提交历史。变基工具用于将一系列提交变基到它们最初基于的 HEAD 上,而不是将它们移动到另一个。 Rebase 就像将分支的基址或路由从一个提交更改为另一个提交,使您看起来像是选择了这条路线而不是另一条。

  • git rebase -i这里的“i”代表交互式。此选项允许您在每次被重新引导以修改和更改消息、添加或删除文件以及许多其他选项的提交后停止。该命令必须知道您必须回溯多远。这是通过git rebase -i HEAD~3命令完成的。其中 Head~3 指的是前三个提交。

  • git rebase – – continue此选项在解决合并冲突后重新启动变基过程。
  • git rebase – – abort此选项中止变基过程并将头重置为原始分支/路由。如果在 rebase 操作开始时提供了“branch”,那么 HEAD 将被重置为“branch”。否则,HEAD 将被重置为 rebase 操作开始时的位置。
  • git rebase – – quit此选项中止进程但不重置头到原始分支。

git filter-branch这是重写大量提交的另一个选项。这并不常用,因为它可以改变一大段历史。但是,它有一些重要的用途,例如从每次提交中删除文件,将子目录设为新根目录以及全局更改电子邮件地址。

总结:我们了解到,如果要更改最近的提交,请使用git commit –ammend命令。此命令使用户能够修改上次提交的消息和文件。当需要修改提交历史的线程时,使用git rebasegit rebase -i给你命令以有礼貌的方式控制和管理你的项目历史。 git filter-branch命令也有类似 rebase 命令的基本功能,即操作大量提交的历史记录,但由于其严格的操作而偶尔使用。