1.提交文件快捷鍵
add指令:Ctrl+Alt+A
commit指令: Ctrl+K
push指令: Ctrl+Shift+K
2.忽略配置文件(.gitignore)立即生效
清除全局緩存:git rm -f -r --cached .
ADD后撤銷:git reset HEAD -filename
3.打tag
查看本地tag:git tag
查看附加信息:git show v1.0
創(chuàng)建tag:git tag -a v1.0 -m 'release 1.2'
刪除本地tag:git tag -d v1.0
AndroidStudio中簡(jiǎn)單打tag如下圖所示,選擇需要的commit記錄,右鍵即可。

“New Tag” 是簡(jiǎn)單創(chuàng)建Tag,同時(shí)會(huì)顯示已經(jīng)存在的tag,可以選擇Delete刪除,比如這里的‘A2.4.6.10290’。
如果需要特別說(shuō)明Message,則如下圖所示:


4.查看記錄
查看日志:git log
查看操作記錄:git reflog
退出: :wq,回車
5.回滾
- 沒(méi)有push
git reset --soft | --mixed | --hard
--soft:保留源碼,只回退commit信息到某個(gè)版本,不涉及index的回退。如果還需要提交,直接commit即可。
--mixed:會(huì)保留源碼,只是將git commit和index的信息回退到了某個(gè)版本。(git reset默認(rèn)的就是--mixed模式,即git reset等價(jià)于git reset --mixed)
--hard:源碼也會(huì)回退到某個(gè)版本,commit和index都會(huì)回退到某個(gè)版本。(注意這種方式是會(huì)改變本地代碼倉(cāng)庫(kù)源碼) - 已經(jīng)push
對(duì)于已經(jīng)把代碼push到線上倉(cāng)庫(kù),你回退本地代碼也想同時(shí)回退線上代碼,回滾到某個(gè)指定的版本,讓線上、線下代碼保持一致,用revert。git revert用一個(gè)新提交來(lái)消除一個(gè)歷史提交所做的任何修改,不會(huì)像reset造成沖突。
在AndroidStudio中回滾操作如下圖,可以選中想要回滾的commit,右鍵即可彈出reset和revert選擇框。
6.代碼暫存
git stash命令的作用就是將目前還不想提交的但是已經(jīng)修改的內(nèi)容進(jìn)行保存至堆棧中,后續(xù)可以在某個(gè)分支上恢復(fù)出堆棧中的內(nèi)容。比如你正在dev分支上開(kāi)發(fā)某個(gè)項(xiàng)目,這時(shí)項(xiàng)目中出現(xiàn)一個(gè)bug,需要緊急修復(fù),但是正在開(kāi)發(fā)的內(nèi)容只是完成一半,還不想提交,這時(shí)可以用git stash命令將修改的內(nèi)容保存至堆棧區(qū),然后順利切換到hotfix分支進(jìn)行bug修復(fù),修復(fù)完成后,再次切回到dev分支,從堆棧中恢復(fù)剛剛保存的內(nèi)容。
特別說(shuō)明:stash中的內(nèi)容不僅僅可以恢復(fù)到原先開(kāi)發(fā)的分支,也可以恢復(fù)到其他任意指定的分支上。

Statsh Changes是暫存,UnStash Changes是恢復(fù)。UnStash需要說(shuō)明下

--Apply Stash 是將當(dāng)前stash的內(nèi)容應(yīng)用到工作目錄
--Pop stash 勾選該選項(xiàng),按鈕變?yōu)椤癙op Stash”,將當(dāng)前stash的內(nèi)容應(yīng)用到工作目錄,同時(shí)將該內(nèi)容出棧,即刪除
--Drop 從堆棧中移除某個(gè)指定的stash
--Clear 清除堆棧中的所有內(nèi)容
7.修改提交記錄
有時(shí)你提交過(guò)代碼之后,發(fā)現(xiàn)一個(gè)地方改錯(cuò)了,下次提交時(shí)不想保留上一次的記錄;或者你上一次的commit message的描述有誤;或者忘記add文件,你又不想增加一條無(wú)用的記錄,這時(shí)候你可以使用接下來(lái)的這個(gè)命令:git commit --amend。AndroidStudio使用如下:
勾選“Amend commit”,然后提交即可。
