GIT是最流行的代码版本控制系统。这一系列文章引入了一些高级使用方法,以帮助我们更好地利用Git的能力。本系列中有8篇文章,这是第5个。原始:互动式折扣:清理您的提交历史[1] [1]
互动重生是GIT命令中的瑞士军刀。有很多情况和可能性。任何开发人员的工具链都是出色的补充。它使我们能够在与团队成员共享之前修改本地提交历史记录。
让我们看看使用Interactive rebase可以做什么,然后查看一些实际示例。
Git Advanced系列:
简而言之,交互式重新编写和提交历史的重写和提交允许操作,优化和清洁提交历史记录。您可以…
请记住,互动式折扣将重写提交历史记录,所有所涉及的都将获得新的哈希ID。此外,简短的提醒:提交ID以识别和提交SHA-1验证。因此,通过更改哈希已经在技术中创建了一个新的提交。这意味着您不应在共享远程代码库上使用交互式折扣。其他团队成员的工作可能基于这些提交。当我们使用Interactive Rebase重写历史记录时,我们已经改变了这些基础。
所有这些都意味着交互式重新构想是在合并(并可能推入)共享团队分支机构之前帮助我们清理和优化本地提交历史记录。
在交互式折叠工作流程中,请在进行交互式式折叠测试之前先查看一般的工作流程。无论您做什么,删除提交,更改提交消息,合并提交...这些步骤是相同的。
第一步是确定提交操作的范围。您想返回多长时间?找到答案后,您可以开始互动式会议。在这里,我们有机会编辑提交历史记录,例如,通过重新选择,删除,删除操作选择操作的选择,并结合提交。
在第一步中,您必须始终通过检查历史记录来理解当前状态。您可以使用命令检查项目的历史记录并显示提交日志。
这是本文中使用的示例代码库:
检查后,您可以开始工作。我们一步一步,在示例中,我们将进行以下操作:
在许多情况下修改提交的信息,我们希望更改最近的提交。
此命令将打开默认文本编辑器以修改最近提交的内容和信息。我们可以更改,保存和退出编辑器。此操作不仅可以更新信息,而且可以有效地更改提交本身并编写新提交。
如果提交给远程代码的文档已经被推开,请小心,不要修改它!
对于任何其他提交的提交(早期提交的任何早期提交),必须执行交互式反弹。要与之互动,需要添加选项。
第一步是确定基本提交:提交给提交的父亲可以通过使用提交的哈希ID或执行少量来实施此提交。要更改最后三个提交(或至少其中一个),您可以,您可以定义父亲的提交:
该命令将打开一个编辑窗口,您可以看到所选的三个提交(我说的“选择”是指提交的范围:从to)。最新的底部。
在此窗口中,无需更改提交,只需告诉GIT执行哪个操作。GIT为此提供了一系列关键字。在我们的示例中,该单词已更改为此,这使我们能够更改信息的提交。保存和关闭编辑器后,git将显示并允许实际提交信息。再次退出,仅此而已!
在下一个示例中,我们将两个(7B2317CF更改页面结构更改页面结构“和“ 6BCF266”“优化标记”)”为提交。类似地,需要确定第一步。我们需要返回父亲至少提交:
编辑窗口再次打开,但是这次我们没有输入,但是要确切地说,我们将在第二行中替换它与第一行合并。复审这一点非常重要:关键字将合并标记的行上面有线!
保存并关闭窗口后,将弹出一个新的编辑窗口。为什么?因为通过合并两个提交,我们创建了一个新提交!并且此新提交需要提交信息。输入信息,保存并关闭窗口。。这是成功合并两次的。
最后,对于那些使用“塔” git桌面gui的人来说,有点“专业提醒”:为了执行壁球,您可以在提交视图中互相拖放。如果您想更改提交信息,请恰到好处- 单击问题中的提交,然后从上下文菜单中选择“编辑提交消息”。
删除最终示例将引入一个大人物:从提交历史记录中删除修订版!因此,我们使用drop关键字来标记删除的提交:
这可能是回答您可能已经考虑过一段时间的问题的好时机:如果您正在执行重击操作,然后想:“哦,不,这不是一个好主意”,您该怎么办?没问题,您可以随时将其暂停!只需输入以下命令,代码库将在重新命名之前返回状态:
改变历史。这些只是互动式折扣可以做到的一些示例。还有许多其他方法可以控制和修改历史记录的本地提交。
如果您想了解有关高级GIT工具的更多信息,则可以免费检查“高级git套件[3]”:这是一个简短的视频集合,例如分支策略,交互式折叠,反式倒流,提交和其他主题。
参考:[1]互动式折叠:清理您的提交历史记录:https://css-ricks.com/interactive- rebase-ical-ical-更新 - history/
你好,我是你的粉丝。我已经在摩托罗拉完成了研发。现在,我已经在Mavenir完成了技术工作,并且我一直对沟通,网络,后端建筑,Yunyan,DevOps,CICD,CICD,Blockchain,AI和其他技术保持着浓厚的兴趣。我通常喜欢阅读和思考,我相信持续的学习和成长,欢迎一起交流和学习。Wechat公共帐户:DeepNomind