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中簡單打tag如下圖所示葛碧,選擇需要的commit記錄暑椰,右鍵即可。
“New Tag” 是簡單創(chuàng)建Tag,同時(shí)會(huì)顯示已經(jīng)存在的tag秽荤,可以選擇Delete刪除呀枢,比如這里的‘A2.4.6.10290’课锌。
如果需要特別說明Message罐旗,則如下圖所示:
4.查看記錄
查看日志:git log
查看操作記錄:git reflog
退出: :wq,回車
5.回滾
- 沒有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ì)改變本地代碼倉庫源碼) - 已經(jīng)push
對(duì)于已經(jīng)把代碼push到線上倉庫脂倦,你回退本地代碼也想同時(shí)回退線上代碼饲常,回滾到某個(gè)指定的版本,讓線上狼讨、線下代碼保持一致,用revert柒竞。git revert用一個(gè)新提交來消除一個(gè)歷史提交所做的任何修改政供,不會(huì)像reset造成沖突。
在AndroidStudio中回滾操作如下圖朽基,可以選中想要回滾的commit布隔,右鍵即可彈出reset和revert選擇框。
6.代碼暫存
git stash命令的作用就是將目前還不想提交的但是已經(jīng)修改的內(nèi)容進(jìn)行保存至堆棧中稼虎,后續(xù)可以在某個(gè)分支上恢復(fù)出堆棧中的內(nèi)容衅檀。比如你正在dev分支上開發(fā)某個(gè)項(xiàng)目,這時(shí)項(xiàng)目中出現(xiàn)一個(gè)bug霎俩,需要緊急修復(fù)哀军,但是正在開發(fā)的內(nèi)容只是完成一半,還不想提交打却,這時(shí)可以用git stash命令將修改的內(nèi)容保存至堆棧區(qū)杉适,然后順利切換到hotfix分支進(jìn)行bug修復(fù),修復(fù)完成后柳击,再次切回到dev分支猿推,從堆棧中恢復(fù)剛剛保存的內(nèi)容。
特別說明:stash中的內(nèi)容不僅僅可以恢復(fù)到原先開發(fā)的分支捌肴,也可以恢復(fù)到其他任意指定的分支上蹬叭。
Statsh Changes是暫存,UnStash Changes是恢復(fù)状知。UnStash需要說明下
--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í)你提交過代碼之后卦碾,發(fā)現(xiàn)一個(gè)地方改錯(cuò)了,下次提交時(shí)不想保留上一次的記錄起宽;或者你上一次的commit message的描述有誤洲胖;或者忘記add文件,你又不想增加一條無用的記錄坯沪,這時(shí)候你可以使用接下來的這個(gè)命令:git commit --amend绿映。AndroidStudio使用如下:勾選“Amend commit”,然后提交即可腐晾。