簡單流程
Repository
要開始使用git必須在本地端先建立一個檔案庫(repository)
假如現在我有一個資料夾Name想用git管理,那我得先移動到這個資料夾底下cd然後輸入
git init
接下來會顯示以下資訊

Github
在此之前我們需要介紹github並說明如何使用才能進行下去。Github是一個透過Git進行版本控制的軟體原始碼代管服務,換句話說就是一個平台可以將你的程式碼上傳的遠端檔案庫。他有分免費帳戶和付費帳戶,這兩種帳戶都可以建立公開的代碼倉庫,但是付費帳戶還可以建立私有的代碼倉庫。
Clone
當我們在 Github 上面看到人家的程式碼想要抓下來自己修改,或是團隊中別人的程式碼,這時候他們通常會有一個 Git 的檔案位置像是在 Github 的話你就會看到像下面的地方可以讓你複製 git 的 clone 位置

我們把它複製下來後在終端機輸入
git clone URL

如此便會將這個 Git Repository下載到我們的資料夾,
git clone
預設會將下載的 git 存成一樣檔名的資料夾,如果你要更改成別的名稱的話只需要在網址後面加上你想要更改的名稱即可,像是

這樣子下載下來的 Repository 的名稱就會從原本的 Name 變成 Justin 了。
Git status
在repository中,你可以輸入
git status
來檢視目前git的狀態。(因為已經alias了所以輸入
git st
)

這代表目前是一個乾淨的目錄狀態,沒有未被追蹤或是被修改的檔案, On branch master 表示你目前正在名為 master 的分支上,等等會再說明 branch。我們接下來在這個資料夾新增一個 test 檔案後,再使用
git status
來查看
Add

這時會看到我剛剛新增的 test.txt 檔案變成在 Untracked files (未被追蹤的檔案),表示過去在這個 Git Repository 中從未有這支檔案,是一支未被追蹤的檔案,我們要把這個檔案讓 Git 能夠追蹤的話,我們使用
git add
這個指令來把它加入
索引

可以看到 test.txt 變成了 Changes to commit,通常我們稱這個狀態叫做
stage
,修改過但還沒使用
git add
的檔案稱為 unstage 。
Tips
如果你一次修改了很多檔案,懶得一個一個輸入
git add
的話,你可以輸入
git add .
這會幫你將所有剛剛修改過或新增加的檔案一次 Add 進 stage 狀態,但強烈不推薦這樣的作法,這樣的方法雖然方便但很容易會不小心加入一些其他不必要的檔案造成檔案的混亂。最好是手動將你確定要加入的檔案使用
git add
來加入,有一個更好的方法是使用互動模式 git add -i ,在互動模式下你可以方便的選擇你要加入的檔案,或是移除剛剛不小心加入的檔案(revert)。
Commit
接下來已經在stage狀態下的檔案要進行commit(提交),commit在git裡是一個非常重要的動作,他就像我們玩的RPG遊戲中都會有的儲存點,這些點就是未來你可以回朔及追蹤的參考,讓我們未來在需要的時候都可以回到這些存檔時的狀態。因此我們將剛剛做的修改提交

這時候你會看到git跳出一堆訊息

視窗最上面的那行空白讓你可以輸入關於這次commit的訊息,然後按下enter就完成了。注意! 盡量寫的清楚,這樣其他人包括你自己回頭檢視時才能快速理解。
輸入完後按ctrl+x跳出,視窗會問要不要儲存,選擇是會跳出下面視窗,然後按下enter

全部好了會出現下圖資訊
Tips
你也可以在指令後面加上
-m
快速提交
Log
我們可以使用
git log
的指令查看過去 commit 的紀錄
開頭是是當次 commit 的版號,後面是所在位置、訊息和時間。可以使用
--stat
參數看到更詳盡的訊息
我們稍微整理一下流程
修改檔案 => 加入 stagegit add
=> 提交git commit
=> 繼續修改其他檔案