git 版本管控
最近開始了 AppWorksSchool 的 RemoteLearning 的遠端課程,將基本功好好的練起來,這次就來再度學習 git 版本管控吧!
什麼是Git? 跟GitHub、GitLab 有什麼差別?
Git 是一個在工程師世界裡面稱 “版本管控”的一種系統。由Linux之父 Linus Torvalds 所創作出來的。
剛進入工程師世界的我,一開始對於 git、GitHub、GitLab的名詞搞得很混亂,但在深入了解過後,發現其實很簡單的,git 為一個版本管控系統, 而 GitHub、GitLab 則是一個提供遠端儲存空間(Remote Repostiory),讓我們可以進行存放自己的檔案版本的地方,當然如果我們沒有要將檔案存放在網路上,也可以只單純在我們的電腦上進行git的版本管控。
為什麼我們需要git版本管控?
在做設計案的時候,我們很常遇到一件事情,就是客戶不斷的改稿,導致於我們專案資料夾內往往會有一下情形:
沒錯,永遠不間斷的Final檔案,但在工程師的世界裡面也會遇到相同的問題,不管是在跟人合作或是自己進行一項專案的時候,
專案的版本一多,分成好幾個檔案進行儲存,就不會是一個好辦法。無法很有效地看出每個版本之間的差距(特別是工程師,往往都是一大串英文所組成,在視覺上更不可能一看就知道差別),因此就有了所謂的 版本管控(Version Control)
Git的原理
簡單來說,我們先將資料夾進行標記,來紀錄在這個資料夾內的變動,確任變動後,寫下本次變動版本的註解,之後就可以將檔案處存到本地或是遠端資料庫囉。
四大區域
Workspace 工作區
- 進行版本的比對與狀態確認 — Untracked / Tracked / Unmodified / Modified
Staging Area 暫存區
- 處存要更新上傳的版本 填寫版本的描述
Local Repository 本地端儲存庫
- 咱們資料版本在電腦上的處存地
Remote Repository 遠端儲存庫
- GitLab 、 GitHub 就是屬於遠端儲存庫
常用方法
status
用來查看目前專案資料夾內的狀況:
git status
- Untracked / 尚紀錄過的檔案
- Tracked / 已紀錄過的的檔案
- Unmodified / 無修修改的檔案
- Modified / 修改過的檔案
add
透過 add 將新增、修改過的檔案存入 Staging Area
git add [檔案名稱] //新增特定檔案
git add . //新增所有檔案
git add * //新增所有檔案
commit
填寫版本的更新資訊、並更新至 Local Repository
git commit // 進入vim 填寫commit訊息
git commit -m "輸入Commit訊息"
push
將 Local Repo 更新至 Remote Repo
git push //更新至原本設定的遠端Repo
git push [特定遠端repo的URL]
fetch
確認Remote Repo內容,將內容建立一份在Local Repo
git fetch
merge
將 Local Repo的內容合併到 WorkSpace
git merge
pull
進行 fetch + merge
git pull
log
查詢版本更動的紀錄
git log
diff
顯示檔案在 Workspace 與 Staging Area 差異
git diff
以上就是 Git 的初步基本知識哩,之後有空的話在來整裡一些關於分支Branch、跟一些實作Git的文章吧:D