背景:有時候編寫了一大段代碼以後,想要撤銷更改(執行add操做以前),vue
命令:git checkout -- <file路徑>git
使用git checkout -- 命令能夠查看更改文件路徑app
➜ bm-fe git:(tmptest) ✗ git checkout --
M src/management.vue
M config/index.jsit
再執行git checkout -- src/management.vue便可class
背景:執行add,未執行committest
步驟:登錄
1.將暫存區的代碼撤銷到工做區 命令:git reset head
2.將工做區的代碼撤銷(具體操做和’工做區的代碼想撤銷’一致) 命令:同【1.工做區的代碼想撤銷】file
命令:git reset --hard headbug
git reset --hard <版本號>apply
版本號查看:git log
背景:更改部分代碼以後,不想馬上提交;或者 正在處理一個需求的時候,須要緊急修復本項目的另外一個bug,可是本次代碼又不想修改
命令: 1.git stash save '暫存標識,好比:新增登陸頁面' 可將本分支本次更改暫存到git棧中。
2. git stash list 查看git棧中全部暫存,出現list,如stash{0}: ...'暫存標識',stash{1}:...other stash...
3. git stash apply stash{n} 找到你要繼續編輯的更改 應用便可(n爲list中的stash編號)
注意: 若是新建了文件,使用git stash save 命令,將沒法暫存新建的文件,若此時再切換到其餘分支,會把該部分文件,一同帶到新分支,且查看不出diff。解決方案:
使用命令 1)git add .
2)git stash save '暫存標識'
背景:作新需求時,忘記新建分支,直接在非生產分支上做出更改(好比commit:x100abcd),且可能更改處較多。
這種狀況下,能夠 1.在生產分支新建,再挨個兒對比 commit x100abcd 的diff,把更改在新分支上重寫一遍;
2.使用cherry-pick
命令: 1. git cherry-pick x100abcd(若是要合併多個commit,能夠空格隔開便可)
2. git commit,git push
具體關於cherry-pick的更多用法,待續
--待續