Tips for IntelliJ IDEA's Git plugin

总结几个 IntelliJ IDEA's Git plugin 的小技巧, 可以节省点用 Terminal 敲 Git 命令的时间。包括: Reset Brunch, Cherry-Pick, Amend Commit 和 Interactive rebase。(对于 JetBrains 全家桶其他 IDE 和 AndroidStudio 同样有效哦!)

Reset Brunch

适用于重置当前分支到之前版本的场景。

步骤如下:

  • 打开 Version Control (command + 9) - Log 窗口
  • 右键需要更改的 commit, 选择 Rest Current Brunch to Here
  • 选择 Reset 模式, 确认

可选项如下:

Soft - 不更改文件, 变更会被暂存以用于提交
Mixed - 不更改文件, 变更不会被暂存
Hard - 文件会被更改, 丢弃本地变更(高危操作)
Keep - 文件会被更改, 不会丢弃本地变更

Reset 模式

Cherry-Pick

适用于从其他分支摘取commit到当前分支上的场景。步骤如下:

  • 打开 Version Control (command + 9) - Log 窗口
  • 选择需要的 commit (可多选)
  • 点击 Log 窗口工具栏 Cherry-Pick 的按钮
  • 合并冲突(如有), 提交
Cherry-Pick

修改 commit message

分为两种情况:

a.修改任意一条 commit 的 message

  • 打开 Version Control (command + 9) - Log
  • 右键选择需要更改的 commit,选择 Reword.. (F2)
  • 修改 commit message, 保存
Reword

b.修改上一个 commit message, 同时合并当前更改

  • 选择 VCS - Git - commit (command + K)
  • 勾选 Amend commit
  • 修改 commit message, 提交
Amend commit

Interactive rebase

适用于当前分支需要更改多条 commit 的场景。 因为属于 rebase 操作, 所以禁止对已经 push 到远端的 commit 进行修改。 步骤如下:

  • 打开 Version Control (command + 9) - Log 窗口
  • 右键需要更改的 commit, 选择 Interactive rebase
  • 根据提示进行交互式的 rebase 操作

对于每一个 commit 可选项如下:

pick - 选用 commit
edit - 编辑 commit (进入amending)
squash - 合并到上一个 commit
reword - 更改 commit message
fixup - 合并到上一个commit, 忽略自己的 commit message
skip - 跳过(丢弃) commit

Interactive rebase

Fin & Enjoy !

comments powered by Disqus