git pull
git pull 是一個用來從遠端倉庫抓取最新的更新並合併到你本地分支的快捷命令。它實際上是兩個命令的組合:
- git fetch:從遠端倉庫下載最新的更改(但不會自動合併到你的本地分支)。
- git merge:將這些更改合併到你當前所在的本地分支。
換句話說,當你執行 git pull 時,Git 會先幫你抓取(fetch)遠端的更改,然後自動嘗試將這些更改合併(merge)到你當前的分支中。
git merge
git merge 是專門用來合併分支的命令。假設你有兩個分支 feature 和 main,如果你想將 feature 分支上的更改合併到 main 分支上,你需要執行以下步驟:
- 先切換到 main 分支:git checkout main。
- 然後執行合併:git merge feature。
這個命令會將 feature 分支上的更改合併到 main 分支上。如果合併過程中沒有衝突,Git 會自動將兩個分支合併。如果有衝突,則需要你手動解決衝突,然後再完成合併。
Merge是本地的
注意:當你執行 git merge 時,Git 會在你的本地倉庫中合併兩個分支的更改。這個過程不會直接影響遠端倉庫,也不會與遠端倉庫進行任何的互動。它僅僅是將你指定的分支(或分支的一部分)合併到你當前所在的本地分支中。
會直接修改遠端數據的 Git 指令主要有以下幾個:
- git push:將本地的提交推送到遠端倉庫,更新遠端分支的狀態。
- git push --force:強制推送,覆蓋遠端倉庫的現有提交,改變遠端的歷史記錄。
- git push --delete <branch>:刪除遠端倉庫中的分支。
- git remote remove <name>:刪除遠端倉庫的引用,不直接修改數據,但影響遠端配置。
這4個命令是直接修改遠端數據的主要命令。
舉例:
假設你正在開發一個功能,並且你的同事在遠端的 main 分支上也做了更新。
如果你只想將遠端 main 分支的最新更改拉取並合併到你當前的分支,你會使用 git pull:
git pull origin main
如果你想將本地的某個開發分支(例如 feature-branch)合併到 main,你會先切換到 main 分支,然後使用 git merge:
git checkout main
git merge feature-branch
因爲注意,任何的融合,都應當是把副分支合并到主分支。
→上一篇:GitBash關於Push操作
→返回目錄:GitBash使用手冊