跳轉到

4.2 保持本地與遠端同步#

團隊協作的日常節奏#

多人協作時,遠端上的程式碼不斷被隊友更新。你的節奏應該是:

開始工作前 pull ──▶ 寫程式 ──▶ commit ──▶ push 前再 pull ──▶ push

git fetch:先看再說#

git fetch

git fetch 把遠端的最新狀態下載到本地,但不會動你目前的程式碼。先 fetch 再用 git log 比對,是安全的做法:

git fetch
git log main..origin/main --oneline   # 看看遠端有哪些你還沒有的提交

git pull:直接更新#

git pull

git pull = git fetch + git merge,一步到位地把遠端最新內容合併進來。

日常開發中最常用 git pull,懶人首選。但如果想先審視變更再決定,就用 git fetch + git log 的組合。

push 被拒絕怎麼辦?#

如果隊友先 push 了新提交,你的 push 會被拒絕:

! [rejected] main -> main (fetch first)

解法很簡單——先拉再推:

git pull          # 把遠端的更新合併進來(可能需要解衝突)
git push          # 再推上去

養成「push 前先 pull」的習慣,可以避免大部分的拒絕與衝突。