今天學習Git的第四步:
分享與更新專案 Sharing and Updating Projects[1] 。
Git 原則上的變更都是在本地完成,
所以如果要跟其他開發者合作,
需要傳到一個大家都可以訪問的伺服器。
而分享與更新專案的指令有:
01 `git fetch` 來對專案做「更新 Update」[2]。
02 `git push` 來分享你對專案的「變更 Change」[3]。
03 `git remote` 來管理遠端的儲存庫[4]。
有趣的是,fetch 這個字源於古英語的"fetan",
表示拿來,取回來的意思。
fetch 的功能就是從遠端的儲存庫,
取得最新的更新,將這些更新下載到本地儲存庫,
但不會自動合併這些改動到本地的分支中。
而push 的語源是古法語的"poulser",
表示驅動,推動。
在Git裡面,push 就是將本地儲存庫的改動,
往前推送,推到遠端的儲存庫上。
以這個角度比較,fetch 與 push 是一對的,
fetch 從遠端拿東西到本地
push 從本地推東西到遠端
了解這些操作的語源,
那麼使用Git也會更自然,更得心應手。
附帶一提,push 就是 fetch 與 merge的合併。
Reference
[1] https://git.github.io/git-reference/remotes/
[2] https://git-scm.com/docs/git-fetch
[3] https://git-scm.com/docs/git-push
[4] https://git-scm.com/docs/git-remote