初始化

1
2
3
git init
git config --global user.name "你的ID"
git config --global user.email "你的信箱"

狀態 git status

新增

1
2
3
git add 檔名
git add -A
git add -u

提交

1
git commit -m "改動訊息"

歷史訊息

1
git log

忽略

1
.gitignore

比較不同

1
2
git diff (工作和暫存)
git diff 分支名稱 (工作和分支)

分支(版本)名稱 HEAD(目前頭分支) : HEAD HEAD^ HEAD^^ HEAD^^^ master(branch名) 695606fc5e31….. (commit hash名)

重置

1
2
3
4
5
6
git reset --hard 分支名稱(分支覆蓋暫存區和工作區,後悔藥,危險不可逆)
git reset 分支名稱 (分支覆蓋暫存區,通常拿來撤銷git add操作)

git checkout 分支名稱 (看以前的版本)

git tag -m "wahaha version 1000" v_1000

在git中,為了吃後悔藥,完成一個小功能立刻commit 在git中,為了找尋方便,完成大改版記得tag

1
git describe (方便產生版本號)

老闆叫你交東西給客戶 但是你程式改到一半

1
2
git stash
git stash pop

交成品囉 []裡面為可加可不加的內容

1
2
git archive -o 輸出.zip 分支名稱 [想要複製的資料夾/檔案,可多個]
git archive -o output.zip HEAD src obj