总结几个 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 - 文件会被更改, 不会丢弃本地变更
Cherry-Pick
适用于从其他分支摘取commit到当前分支上的场景。步骤如下:
- 打开 Version Control (command + 9) - Log 窗口
- 选择需要的 commit (可多选)
- 点击 Log 窗口工具栏 Cherry-Pick 的按钮
- 合并冲突(如有), 提交
修改 commit message
分为两种情况:
a.修改任意一条 commit 的 message
- 打开 Version Control (command + 9) - Log
- 右键选择需要更改的 commit,选择 Reword.. (F2)
- 修改 commit message, 保存
b.修改上一个 commit message, 同时合并当前更改
- 选择 VCS - Git - commit (command + K)
- 勾选 Amend commit
- 修改 commit message, 提交
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
Fin & Enjoy !