Tommy
選擇部分內容加入暫存區(需有commit過才有效)
s 切割更小區塊
y 加入這個區塊到暫存區
e 取消這個區塊到暫存區
復原HEAD的index.html(修改過的檔案還原)
進入暫存區的部分不還原
復原commit的index.html
(但比對還是HEAD,預設加到暫存區,有修改還是要再次add)
工作目錄和HEAD更新到這個commit
(不重設暫存區,但異動這個commit改過的檔案無法切換)
git log只會顯示HEAD之前的紀錄,git log --all才可看到全部
復原commit做的事情,重做一個新的commit
(會自動commit喔)
復原commit做的事情,不會重做一個新的commit
(不會自動commit喔)
重設目前HEAD的工作目錄,清除暫存區
(重設HEAD&工作目錄&目前分支)到commit,清除暫存區
git reflog查看HEAD移動的歷史紀錄
保持工作目錄不變,清除暫存區
保持工作目錄不變,重設(目前分支&HEAD)到commit,清除暫存區
用途:打散或合併commit
基本上沒什麼用
(目前分支&HEAD&工作目錄&暫存區)都沒有改變
重設(HEAD&目前分支)到commit,保留(工作目錄&暫存區)不變
列出所有分支
在目前HEAD位置建立dev分支
刪除dev分支
在commit建立dev分支
還記得哪個指令可以移動HEAD嗎?
因為checkout會將HEAD移到dev分支
(分支必須存在)
在([commit] or 目前)位置建立dev分支,並且立刻切換過去
尚未commit並且修改切換目標分支有commit的檔案
此時會無法切換過去
提示切換到master
有修改list.txt並且套用到master
因為a.txt在master也有被異動過無法套用
1. reset 捨棄
2. commit 提交
3. stash 收藏
將目前未commit的檔案收藏起來,取名叫temp
列出所有收藏清單
取出最後一個收藏
顯示有線圖的log紀錄
在目前的分支上合併dev分支
不使用快進合併分支
預設merge會使用快進
看線圖比較容易分辨是從主線還是分支
然後重新git commit
就是喜歡看一條直線
把目前分支重寫到master
如果有衝突一樣先編修好git add加入
再透過git rebase --continue完成
擷取某個commit套用在目前分支上
紀錄重大里程碑
建立v1.0標籤在目前HEAD上
使用git cat-file -p v1.0可查詢紀錄訊息
刪除標籤