git pull
相當於自動的 fetch 和 merge 操作,會試圖自動將遠程庫合並入本地庫,在有沖突時再要求手動合並。
git rebase
可以確保生產分支commit是一個線性結構,方便rollback。其實生產也可以選擇打tag來發布。
注:通過rebase可以確保主分支commit history線性結構上每個commit點都是相對獨立完整的功能單元。除了美感,這樣做也有助於團隊間的分工協作,比隨便merge效果好。
git pull --rebase(推薦用這個)
- 把本地 repo. 從上次 pull 之后的變更暫存
- 恢復到上次 pull 時的狀態
- 合並遠端的變更到本地
- 最后再合並剛剛暫存下來的本地變更
git fetch
只是將遠程的文件拉下來,不會與本地的分支進行合並