git 版本管控

Shin Yulin
4 min readAug 1, 2021

--

最近開始了 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

--

--

Shin Yulin
Shin Yulin

Written by Shin Yulin

一個在前往 iOS 工程世界的視覺工作者

No responses yet