在IntelliJ中进行git操作
使用IntelliJ来使用git。
这是kb圣诞节倒数日历的第11天的文章。
我已经使用IntelliJ用户付费使用了数年。最近,我使用命令操作Git的次数减少了,更多地在IDE上完成操作。现在我要介绍一下IntelliJ的一些便利的Git功能。
一般流程
经常使用的命令有pull、commit、push、新建分支、切换、合并以及暂存/恢复等。
我觉得如果掌握了这些快捷键,相比于使用命令行,可以更快地完成工作。
-
- pull(⌘+T)
-
- commit(⌘+K)
-
- push(⌘+⇧+K)
-
- new branch(⌘+⌥+N)
-
- checkout(⌘+⇧+P)
-
- merge(⌘+⇧+A -> merge)
- stash/unstash(⌘+⇧+A -> stash / ⌘+⇧+A -> unstash)
解决冲突

货架 (huò jià)
书架是一个类似于蓄势所的功能,可以临时保存变更。
shelf是IntelliJ獨有的功能,與stash不同之處在於,它不僅能暫存變更,還可以將變更提交到另一個分支中。
在编写代码的过程中,如果想切换到另一个分支,这将非常方便。
当您有想要暂时放置的更改时,在状态栏选择Shelve Changes(⌘+⇧+A -> Shelve Changes),将会打开Shelf界面,然后您可以给该更改取个名字并进行暂存。
当出现当前更改时,选择结帐后将显示智能结帐界面。在此情况下,选择强制结帐将删除当前更改,而选择智能结帐将转到将当前更改合并到结帐目标分支的界面,然后在那里选择跳过即可将当前更改放入书架。

可以从“书架”选项卡中查看和恢复已退避的更改。

修订提交
如果想要修复过去的提交记录,可以进行变基操作。
在这里,我将介绍一个修改上三个提交()的示例。

首先,选择要进行 rebase 操作的提交的前一个提交,然后通过右键点击选择“交互式变基”。

然后,Interactive Rebase界面会显示出来,选择要修改的提交并点击“停止编辑”按钮,然后再点击“开始变基”。

当您进行了所需的更改并选择要编辑的提交时,该提交将被标记为黄色标签。

在这里,为了修正相关提交,选择测试提交2,然后选择撤销提交。

如果这样做,提交将被撤销,并返回到提交测试2之前的状态。

进行了希望的修正并提交。

在提交后,从分支列表中点击”Continue Rebase”,会进入冲突解决界面,然后解决冲突。

在解决冲突后,点击“继续变基”,就会完成变基,并且您可以确认之前的提交已经被修正。

总结
我介绍了我经常使用的IntelliJ上便捷的git功能。通过在IDE上完成git操作,我认为工作效率比在命令行上操作更高。请务必参考一下。
顺便提一下,似乎无法创建WorkTree之类的操作,因此需要在命令行中进行这些事情。