[Git篇]Git進階觀念說明

文章攢寫時間︰2013/03/20 13:56

一、前言

繼前一篇簡單扼要的提到如何使用Git版本控制,
這一篇會對Git裡所有我們應該知道的術語做了解。

二、本文


(以下文章取自MRMU STUDIO部落格)

每個人的程式倉庫Repo

Repo是repository的簡稱,
指的是倉庫、程式庫、版本庫…,
簡單來說,
Repo就是一個受Git版本控制的目錄。

你可以先找一個空資料夾執行git init來建立新的Repo,
若你有裝TortoiseGit(俗稱小烏龜)
就可在空資料夾按右鍵,
選擇Git create repository here,
意思一樣。

當然若你有現成的程式專案目錄,
也可以直接把它建成Repo,
操作跟上述相同。

執行git init後這個資料夾就變成一個Repo了,
裡頭會多一個名叫.git的目錄,
而Repo在日後進行版本控制時所需的相關資訊都會存放在這個.git資料夾中。
(.git目錄若砍掉了,這個目錄就不再是一個Repo了) 

使用版本控制的第1步︰將檔案加入版本控制器

現在Repo目錄裡啥都沒有,
所以可以先隨便新增一個README來試玩看看,
執行:
touch README

執行後就會多一個空白的檔案叫README,
如果要你放進其他的檔案試試看也行,
就直接copy放進來吧。

這時我們的repo已經有新檔案了,
但都還沒受到版本控制(untracked),
不在版本控制清單中的檔案,
就不會受到git控制,
也就是你要把程式碼提交變更(commit)至repo時,
這些untracked的檔案都不會被放進去。
所以要執行add,
讓檔案們進入所謂的staged狀態,
才能接著把它們commit進Repo中。

要把所有檔案都加入staged狀態,
執行:
git add -A

git add .

要把個別的檔案加入staged,
執行:
git add 主檔名.副檔名

如果有些檔案你不想要再讓它受到版本控制了,
也就是要把它unstage,
那可以執行:
git reset 主檔名.副檔名

使用版本控制的第2步︰遞交你的程式

好的,
現在確定好要commit第一版程式碼了,
所以可以執行:
git commit -m "Initial commit"

也就是把所有檔案commit進repo,
並且附上’Initial commit’的說明註解。
而日後,
如果commit過的檔案有再修改過,
也需要再add一次成為staged狀態,
然後再commit它們。

出事了,我要還原程式碼

現在我們可以自己寫code自己commit了,
天天記錄新進度,
感覺很踏實。

但有一天發現某功能挫屎了。
也許你確定上禮拜這邊還沒問題的,
或某一版一定沒問題,
這時我們可以利用Checkout來回溯之前的版本:
git checkout xxxx

xxxx指的是版本編號的前四碼。

相關文章

1. 在Xcode底下使用Git版本控制
2. 在Dropbox上使用Git版本控制

沒有留言 :

張貼留言