[Note] Git Tutorial for Beginners

Jackson Chen
1 min readApr 13, 2022

源自於此篇文章,翻譯並截取其重點:
Git Tutorial for Beginners (linuxhint.com)

Git 是眾多版本控制工具之一,為了幫助工程師在合作開發上有既定的流程維護專案,版本控制軟體是必須要求的技能。

而 Git 緣起於 Linus Torvalds (Linux creator),因為既有工具 BitKeeper 免費版本消失,他的團隊製作 Git,一個開源且擁有分散式系統架構的版本控制工具。與先前集中式系統的版本控制不同,Git 是透過 peer-to-peer 方式去追蹤當地端版本程式碼轉換,而先前集中式則需要中央伺服器集體控管。

以下是在 Linux based 下安裝 Git 的步驟:

https://blog.techbridge.cc/2018/01/17/learning-programming-and-coding-with-python-git-and-github-tutorial/

其中操作區域大概可以劃分成 4 個部分:
1. Working Directory
2. Staging Area
3. Repository
4. Remote Repository
前三者位於當地端電腦裡,4 則是在遠端或是另一台電腦裡。

操作流程可以比喻在寫檔案時,我們把當地端檔案寄存在 working directory
這個盒子中。而若我們要複製並保存當前文檔時,複製的檔案會被放置於 staging area 中。

值得注意的是,在 staging area 中的檔案僅是暫存用,當下次又有複製檔案需求時,便會遺棄先前檔案,把新的檔案更新至 staging area 中。

但若我們要永久保存該檔案時,該檔案便會存放在 repository 這個地方,原先在 staging box 的檔案便會移至此處。而在這過程中,Git 會產生 log file,以便日後有紀錄能找到,並取得該時段檔案。

以上討論皆在當地端的電腦中,如果要把此檔案複製給遠端或其他人時怎麼辦呢 ?

從 local repository 將該檔案以及 log file 複製給其他人,並放置在每家公司的 supply room 裡,而此處稱為 remote repository,類似檔案由 Google Doccs 或 Dropbox 共享的方式。

第一個 Git Repository

當下載玩 Git 後,便可以初始化 Git Repository 了~

而像 status 就是顯示當前 working directory 的情況,
log file 便是顯示歷史紀錄的地方,
輸入 ”add .” 指令讓 Git 去追蹤自己改的程式碼,
"commit" 指令讓文檔永久存在 repository 裡頭。

若要找回先前的檔案該如何呢 ?

透過 log file,以及輸入 log 指令,而要還原成指定先前檔案有還需透過
hash 值以及 checkout 指令來還原至該檔案。

branch 是 Git 中重要的存在,每個人都可以透過此方式,將專案分支到本地端,以便去修改跟實驗,並透過 merge 將自己改動過的專案彙整至原先專案,期間需要 2 次 commit 指令。

當然也可以透過 SSH address 將當地端檔案 clone 到遠端(remote directory)

Official document and tutorial

--

--