Git Squash 简化
如果您刚刚开始成为开源贡献者或计划成为开源贡献者,您可能会遇到开源项目,这使得您在打开拉取请求之前或之后将所有提交压缩为一个提交。
作为初学者,您可能会觉得很有挑战性,因为担心会弄乱其他人的提交,但所有这些都可以通过使用正确的工具和扩展来消除。
在这篇文章中,我将帮助您克服这种恐惧,也将帮助您掌握并适应压缩提交。
让我们从定义本身开始。
git 中的压缩提交是什么意思?
Git 中的“压缩”意味着将多个提交合并为一个提交。
何时压缩提交?
您可以在任何时间点压缩提交,但强烈建议在进行更正或提出建议时压缩提交,并且您不想在 git 历史记录中添加额外的提交来说明您所做的更正。
我应该使用哪些工具才能使其更容易和无错误?
我建议使用VSCode作为代码编辑器,并安装GitLens扩展。在本教程中,我也将使用 VSCode。
那就让我们开始吧!
1. 首先,您必须更改 Git 的默认代码编辑器。
Git 自带 nano 作为其默认代码编辑器。为了使用 GitLens 扩展,你需要将 Git 的默认代码编辑器更改为 Visual Studio Code。
为此,请在终端中输入以下命令
git config --global core.editor "code --wait"
这会将 git 中的默认代码编辑器从 nano 更改为 vscode。
现在您已一切就绪。
假设你已对代码进行了更正并提交了更改。完成后,让我们概览一下你想要压缩的提交。
要列出提交,请在终端中输入以下命令(请确保你位于你想要压缩提交的目录/git仓库中。)
git log --oneline
这是我的输出
主题:水母
现在让我们压缩这些提交
为了压缩提交,我们没有任何明确的命令,例如git squash
git 中的命令,而是使用 rebase 方法来实现提交的压缩。
因此,要压缩您所做的提交,请输入以下命令:
git rebase -i HEAD~N
其中N是要压缩的提交数量
我将压缩最近的 2 次提交,因此我的终端将如下所示
主题:水母
并从下拉菜单中选择reword,以便在压缩时编辑提交消息。
选择选项后,您的 vscode 窗口可能如下所示
主题:水母
现在让我们点击Start Rebase来开始 rebase
点击“Start Rebase”按钮后,编辑器中会打开一个新的提交消息选项卡。正因如此,我们将 vscode 设置为 Git 的默认代码编辑器,以便在 vscode 中直接打开此选项卡,从而进一步简化编辑提交消息的操作,无需费力记住 nano 代码编辑器的快捷键,从而彻底省去这些步骤,使您的工作流程更加优化和高效。
由于我们已经为上一次提交选择了 reword 选项,它将要求我们编辑该提交消息的提交消息。
我将保持原样,因此请按 Ctrl+S 或 Cmd+S(MacOS 用户)
一旦您保存并关闭此选项卡,新的 rebase 提交选项卡将打开,它将再次确认您想要在压缩提交中拥有的消息。
再次,我将保持原样,因此请按 Ctrl+S 或 Cmd+S(MacOS 用户)并关闭该选项卡。
再次在终端中输入以下命令即可看到
git log --oneline
这是输出
你可以看到“修复错误”提交被压缩了,因为我们没有修改前一个提交,所以它保持不变。当你输入时,git log
它会显示两条消息,还记得第二个提交消息标签吗?它来自那里。
致谢
非常感谢你阅读这篇文章,希望这篇文章能帮助你更轻松、更快速地压缩你的提交。欢迎提出任何建议,如果你喜欢我的作品,可以通过Twitter或LinkedIn与我联系。
祝你有美好的一天😊
文章来源:https://dev.to/pb/git-squash-simplified-3ba1