在 Git 中比較本機檔案與遠端版本的差異
只要執行下面的指令,就能取得與遠端版本的 diff
$ git diff origin/master -- [local-path]
本機與遠端的 branch
使用 Git 時,了解本機 branch 和遠端 branch 的差別很重要。本機 branch 只存在於你的電腦上,不會與其他開發者或遠端 repository 共享。遠端 branch 則存在於遠端 repository 上,其他開發者可以存取,也可以透過遠端 repository 取得。
本機 branch 用於個人開發、測試和實驗,遠端 branch 則用於協作、分享和部署。建立本機 branch 之後,你可以獨立作業而不影響遠端 branch。等你準備好與他人分享變更時,可以把本機 branch push 到遠端 repository,建立新的遠端 branch 或更新既有的 branch。
抓取最新的變更
在比較本機和遠端 branch 之前,你需要先從遠端 repository 抓取最新的變更。這能確保你的本機 repository 與遠端 repository 的最新變更保持同步。要抓取最新變更,請使用 git fetch 指令。這個指令會把遠端 repository 的最新變更更新到你的本機 repository,但不會進行 merge。
用 Git Diff 比較檔案
Git Diff 是比較本機和遠端 branch 之間檔案差異的好工具。要用 Git Diff 比較檔案,請使用 git diff 指令,後面接上你要比較的 branch 名稱。例如,要比較本機 branch main 和遠端 branch origin/main 的檔案,就使用 git diff main origin/main 指令。
Git Diff 會顯示兩個 branch 之間的差異,標示出遠端 branch 相對於本機 branch 的變更。你也可以使用 --stat 選項來顯示精簡版的差異,列出新增、刪除和修改的行數。
比較本機與遠端的最佳實務
比較本機和遠端 branch 時,你應該遵循最佳實務,才能快速取得準確的結果。以下是幾個值得記住的最佳實務:
- 比較本機和遠端 branch 之前,一定要先從遠端 repository 抓取最新的變更。
- 用 Git Diff 比較本機和遠端 branch 之間的檔案。
- 用 --stat 選項顯示精簡版的差異。
- 用 git log 指令比較本機和遠端 branch 的 commit 歷史。
- 用 git status 指令查看本機 branch 和遠端 branch 的狀態。
進階比較技巧
除了 Git Diff 和 Git Log 之外,還有一些進階比較技巧可以用來比較本機和遠端 branch。以下列舉幾個:
- 用 git difftool 透過圖形化的 difftool 比較本機和遠端 branch 之間的檔案。
- 用 git diff --name-only 列出本機和遠端 branch 之間有修改的檔案。
- 用 git diff --word-diff 逐字顯示差異。
- 用 git diff --ignore-space-change 忽略空白字元的變更。
現在你有更多工具可以用來比較本機和遠端 branch 了。