講到 Git 分支管理,我不愛用 GUI 工具,是個鐵桿指令派。慣用做法是在 VSCode 開啟 Git Graph,按 Ctrl+Shift+` 在下方開個終端機,下指令整理分支或執行合併,下完指令馬上從 Git Graph 線圖驗證結果是否符合預期。

我愛用指令的一大原因是方便與團隊成員溝通,「你先 git add .、git stash 再 git checkout master,再 git merge --no-ff -m "v2.1" feature/auto-login」遠比「開啟 Git Changes,Commit All 旁有個向下箭頭,點 Stash All,然後右下工作列有個 feature/auto-login,先切到 master,然後再點一次打開清單,在 feature/auto-login 點右鍵選 Merge into current branch,在 Comment 輸入...」來得簡單明瞭不易出現,甚至複製指令貼上執行。還不用擔心上演「你說沒有 Git Changes 頁籤是什麼意思?蛤,你是 VS2015!」的場面,用指令只需 VSCode + Git Graph,門檻遠比要求安裝 Visual Studio 新版或某個第三方工具軟體來得低。

不過有點美中不足,VSCode 預設的終端機介面是 PowerShell,我已經很習慣用 Cmder 敲 Git 指令,享受提示列顯示所在分支,按 Tab 自動完成指令的便利(PowerShell 也有 Posh-Git 提供相似功能,但 Cmder 風格跟我比較投緣),有沒有可能在 VSCode 改用 Cmder 當終端機介面呢?

VSCode 提供了充分的彈性,而 Cmder 也做足了準備,這就來讓二者金剛合體!

找到 %appdata%\code\user\settings.json,加入以下這段,用 cmd.exe 執行 Cmder 目錄下的 vendor\bin\vscode_init.cmd:

"terminal.integrated.profiles.windows": {
    "Cmder": {
        "path": "${env:windir}\\System32\\cmd.exe",
        "args": ["/k", "X:\\cmder\\vendor\\bin\\vscode_init.cmd" ]
    }
}

設定後,TERMINAL 的 + 下拉選單將多出 Cmder 選項:

然後我們就能在 VSCode 裡使用 Cmder 下指令囉~ 敲 feat 按 Tab 就補完 feature/some-issue,讚!


Comments

# by Tiebob

我會加上下列這行設定,設定"預設"的 terminal,供參! "terminal.integrated.defaultProfile.windows": "Cmder",

# by 小雞

來得簡單明瞭不易出現=>我怎麼聽完前面那段就想放棄了...

# by Jeffrey

to Tiebob,感謝分享! 大部分時間我還是挺愛用 PowerShell,所以後來就沒切成預設。 to 小雞,痛苦是比較出來的,有機會可以試試「遠端」指導不熟悉 Git 的夥伴完成一段複雜分支操作,或許你會有不同體驗。

# by quintos

黑大:可以试下 WindTerm 命令行工具

# by 小黑

問問VSCode 有沒有支援類似Sourcetree 可以用頁籤來檢視多個 repositories?

# by Jeffrey

to quintos,已筆記,謝謝分享。 to 小黑,我 Git 技能都點在 CLI ,對 GUI 沒啥研究。

# by Mason

Git Graph蠻好用的。vscode 有設定workspace後舊的repo可以手動加入,新的會偵測git clone後自動加入,真的蠻方便看合併狀況。

Post a comment