對於其他人沒什麼用的我的 git cheatsheet。
感覺還是要有情境呢..
git log --oneline -g
blameblame -L 5,10
checkout .checkout <file>
從 staging area 拿回檔案,如果 <file> 不曾被 track 會 errorcheckout <file> HEAD^^
checkout --ours <file>checkout --theirs <file>
reset
[[git reset]]
--soft resets the head to commit
--mixed 預設。resets the index. 所以 working tree 沒被動到。
--hard resets the index and working tree.git reset e12d8ef^^ ^代表回去幾次
相等於 git reset e12d8ef~2git reflog git log -g 可以看到 head 被移動的紀錄。
detached HEADgit diff working tree and indexgit diff --cached HEAD index 和 head
【狀況題】手邊的工作做到一半,臨時要切換到別的任務stash liststash apply stash@{0}stash drop stash@{0}stash pop stash@{0}
Pull 下載更新
pull = fetch + merge
Pull 指令其實就是去上線抓東西下來(Fetch),並且更新本機的進度(Merge)而已。
【狀況題】怎麼有時候推不上去…pull --rebase
【狀況題】怎麼跟上當初 fork 專案的進度?remote -v verboseremote add <upstreamname> <giturl>