git GUI tool, SourceTree
SourceTree 是一款免費的 Git 與 Mercurial 圖形化管理工具,能讓開發者以直覺的 GUI 操作版本控制,而不必依賴繁瑣的命令列。
SourceTree 是一個 免費、跨平台、功能完整的 Git/Mercurial GUI 工具,非常適合新手學習版本控制,也能幫助團隊更直覺地管理專案。對於像你這樣專注於 可維護性與工作流程優化 的開發者,它能成為日常協作的好幫手,尤其在分支管理與衝突解決上能大幅提升效率。
SourceTree 與命令列 Git 的比較表,快速判斷在不同場景下該用哪一種方式:
| 功能面向 | SourceTree (GUI) | Git 命令列 (CLI) |
|---|---|---|
| 學習門檻 | 低,圖形化介面直覺操作 | 高,需要熟悉指令與參數 |
| 操作效率 | 適合日常提交、分支管理 | 熟悉後速度快,適合批次與自動化 |
| 分支視覺化 | 清楚顯示分支與合併流程 | 需透過 git log --graph 等指令 |
| 衝突解決 | 提供圖形化工具輔助 | 需手動編輯檔案並解決衝突 |
| 靈活度 | 功能完整但受限於介面 | 幾乎能做到所有 Git 功能 |
| 自動化整合 | 不適合腳本化或 CI/CD | 完美支援腳本與 CI/CD |
| 適合族群 | 新手、喜歡視覺化操作的人 | 熟悉 Git 的工程師、需要高度可控的團隊 |
混合工作流範例 (SourceTree + Git CLI),讓團隊新手與進階開發者都能各取所需:
git clone git@github.com:team/project.git
cd project
git checkout -b feature/login
git add .
git commit -m "Add login feature"
git push origin feature/login
git fetch origin
git rebase origin/main
git merge feature/login
git status
# 手動編輯衝突檔案
git add conflicted_file.py
git commit
# pre-commit hook 範例
#!/bin/sh
black .
pytest
| File14 | File | Last Modified |
|---|---|---|
| 把目前repo 所有的branch都push 到github | 把目前repo 所有的branch都push 到github | 2:24 PM - January 12, 2026 |
| 把目前 branch 上的修改(尚未 commit 的檔案)直接帶到一個新的 branch | 把目前 branch 上的修改(尚未 commit 的檔案)直接帶到一個新的 branch | 2:24 PM - January 12, 2026 |
| 從 Windows 把 repo 搬到 WSL再一次性 push 所有 branch 到GitHub 這樣就能避開 aux 檔名問題 | 從 Windows 把 repo 搬到 WSL再一次性 push 所有 branch 到GitHub 這樣就能避開 aux 檔名問題 | 2:24 PM - January 12, 2026 |
| git指定初始化的 branch 名稱 | git指定初始化的 branch 名稱 | 2:24 PM - January 12, 2026 |
| github上的repo clone下來check out 某一個dev branch | github上的repo clone下來check out 某一個dev branch | 2:24 PM - January 12, 2026 |
| github一台電腦同時使用兩個 GitHub 帳號 | github一台電腦同時使用兩個 GitHub 帳號 | 2:24 PM - January 12, 2026 |
| github actions | github actions | 2:24 PM - January 12, 2026 |
| git 重新再從github上pull 所有branch | git 重新再從github上pull 所有branch | 2:24 PM - January 12, 2026 |
| Git 裡查看 configuration | Git 裡查看 configuration | 2:24 PM - January 12, 2026 |
| git 恢復到最近一次 git pull狀態,取消本地修改 | git 恢復到最近一次 git pull狀態,取消本地修改 | 2:24 PM - January 12, 2026 |
| git 初始化與推送流程圖 | git 初始化與推送流程圖 | 2:24 PM - January 12, 2026 |
| git 中查看commit歷史資訊 | git 中查看commit歷史資訊 | 2:24 PM - January 12, 2026 |
| git 中修改檔名且保留原來commit紀錄 | git 中修改檔名且保留原來commit紀錄 | 2:24 PM - January 12, 2026 |
| git Remote 常見情境與操作 | git Remote 常見情境與操作 | 2:24 PM - January 12, 2026 |