代碼比對神器 Kaleidoscope
Kaleidoscope 是一個非常強大的比對工具,可以十分方便地比對文本、圖片、文件夾等內容。搭配上 SourceTree,能夠大大提升 Git 的效率。
Kaleidoscope 可以用來:
- 比對任意文字、圖片、文件夾
- Code Review 利器,可以比對 Git 中不同 commit、不同分支上的代碼
- 快速解決 Git 合併衝突
- …
SourceTree 和 Kaleidoscope 配合起來可以使得 Code Review 和衝突解決變得十分高效。他們配合起來可以做到,在 SourceTree 中選擇任意兩個 Commit,按下快捷鍵就喚起 Kaleidoscope 進行比對。對於重視 Code Review 的團隊來說,可以說是一個非常能夠提升體驗的效率工具。我想只有 Code Review 體驗的提高,才能讓團隊裏的成員更有 Code Review 的意願,才能真正推動 Code Review 的進行。
下面我將在本文中分享一下 SourceTree + Kaleidoscope 的配置。
配置步驟
1、安裝好 SourceTree 和 Kaleidoscope
2、進入 Kaleidoscope 菜單 > Intergration… 安裝命令行工具
如下圖所示,遵循指示,把Kaleidoscope
和Git
兩個 Tab 中的命令行工具都安裝好。安裝完成後,左側會出現✅標誌。
3、打開 SourceTree > Preference > Diff 配置 External Diff / Merge 選項
Diff 和 Merge 的工具都選擇 Custom,然後填入如下配置:
Diff Command: /usr/local/bin/ksdiff
Arguments: --partial-changeset --relative-path "$MERGED" -- "$LOCAL" "$REMOTE"
Merge Command: /usr/local/bin/ksdiff
Arguments: --merge --output "$MERGED" --base "$BASE" -- "$LOCAL" --snapshot "$REMOTE" --snapshot
使用 Custom 配置是因爲 SourceTree 對 Kaleidoscope 的原生支持有 Bug
4、配置 Custom Actions 以便快速喚起對比工具
在 Custom Actions 中增加一個配置,配上你希望喚醒對比工具的快捷鍵,這裏我使用 ⇧+⌘+D。
然後在 Script 中填入:git
,在 Parameters 中填入:difftool -y -t sourcetree $SHA
。然後就配置完成了。
使用方法
- 比對任意兩個 commit 之間的改動: 按住⌘,選擇兩個commit,點擊剛剛配置的快捷鍵,即可喚起 Kaleidoscope
- 查看某個文件的改動:直接右鍵單擊文件,選擇 External Diff(也可以對照上面的方法加個快捷鍵)
- 解決衝突:右鍵單擊衝突的文件,使用外部工具解決衝突(如下圖)
https://xclient.info/s/kaleidoscope.html
https://punmy.cn/2019/02/28/效率神器%20Kaleidoscope.html