2014年6月12日 星期四

git筆記

◎建立儲存庫的方式
1.在本機建立本地的儲存庫 (local repository)
mkdir git-demo 新建一個名為git-demo的目錄
cd git-demo 進入該目錄
git init 把儲存庫給建立起來,預設儲存庫會放在工作目錄下的 .git 目錄下

2.在本機建立一個共用的儲存庫 (shared repository)
got init --bare 建立一個 Git 儲存庫但不包含工作目錄
git clone [REPO_URI] 指令「複製」(clone)一份回來才行,而透過 git clone 的過程,不但會自動建立工作目錄,還會直接把這個「裸儲存庫」完整的複製回來

3.在 GitHub 或其他 Git 平台建立遠端的儲存庫 (remote repository)

◎新增檔案
放10個檔案到目錄裡[master +10 ~0 -0 !]
master代表目前工作目錄是 master 分支,也是 Git 的預設分支名稱
「紅色」的數字都代表 Untracked (未追蹤) 的檔案,也就是這些變更都不會進入版本控管。
後面依序是新增、修改、刪除的檔案數目
「綠色」的數字都代表 Staged (準備好) 的檔案,也就是這些變更才會進入版本控管。
後面是序是新增、修改、刪除的檔案數目將被建立一個版本
git add . 新增的檔案加入到git版本控制
git status 查詢狀態,顯示出目前最新版與索引檔之間的差異
git status -s 精簡版
git reset 重設工作目錄的索引狀態

◎新增部分檔案
git add 檔案名稱.副檔名/資料夾名稱
git add -u 則可以僅將「更新」或「刪除」的檔案變更寫入到「索引檔」中。
git help add 查詢add完整的指令與參數
git ls-files 可以列出所有目前已經儲存在「索引檔」中的75檔案路徑

◎提交變更/建立版本
git commit 把「索引檔」與「目前最新版」中的資料比對出差異,然後把差異部分提交變更成一個 commit 物件。
git commit -m "版本紀錄的說明文字"
git log 查詢版本的歷史紀錄
git log -10 查詢近10筆紀錄

◎刪除檔案
git rm 檔案名稱.副檔名 把檔案從工作目錄刪除
git rm filename 刪除檔案並更新索引檔
git rm --cached a.txt 刪除索引檔中的該檔,保留工作目錄下的實體檔案

◎更改檔名/資料夾名稱
git mv test unit-test

◎還原全部/單一檔案
git reset --hard 把工作目錄還原到目前的最新版
git checkout master 檔案名稱.副檔名

◎步驟
1.要使用 Git 版本控管,你必須先建立「工作目錄」與「版本庫」。(mkdir, git init)
2.你要先在「工作目錄」進行開發,你可能會建立目錄、建立檔案、修改檔案、刪除檔案、... 等操作。
3.然後當你想提交一個新版本到 Git 的「儲存庫」裡,一定要先更新「索引」狀態。(git add, git mv, ...)
4.然後 Git 會依據「索引」當下的狀態,決定要把那些檔案提交到 Git 的「儲存庫」裡。(git status)
5.最後提交變更時 (git commit),才會把版本資訊寫入到「物件儲存區」當中 (此時將會寫入 commit 物件)。