DEV Community

Cover image for git 同步遠端數據庫(git pull、fetch、merge)
周柏諭 BO-YU CHOU
周柏諭 BO-YU CHOU

Posted on

git 同步遠端數據庫(git pull、fetch、merge)

前言

Image description

上圖可以簡單理解git本地端與遠端的大致上的指令互動。

簡單概括:

git fetch 是把遠端數據庫的最新內容拉到本地,用戶在檢查後可決定是否與本地分支合併。

git pull是直接把最新內容拉下來直接合併,即為git fetch + git merge

git pull

$ git pull <遠端別名> <遠端分支名>:<本地分支名>
Enter fullscreen mode Exit fullscreen mode

如果遠端分支是與當前分支合併,那冒號後面可以省略

ex:

$ git pull origin dev
Enter fullscreen mode Exit fullscreen mode

git fetch + git merge

$ git fetch <遠端別名> <遠端分支名>
Enter fullscreen mode Exit fullscreen mode

(省略遠端分支名會把遠端數據庫所有更新取回本地)

取回更新後,系統會自動建一個分支FETCH_HEAD

可以查看剛拉回來的信息(檢查是否有衝突之類的)

$ git log -p FETCH_HEAD
Enter fullscreen mode Exit fullscreen mode

確定好後,可以把FETCH_HEAD合併本地分支

$ git checkout master          // 切換分支
$ git merge FETCH_HEAD
$ git branch -d FETCH_HEAD     // 刪除分支
Enter fullscreen mode Exit fullscreen mode

Oldest comments (0)