git stash git tag
說一說 git stash, git tag , git 刪除遠端分支
git stash
git stash 在之前用得比較少,但真正使用起來還是非常方便的。使用git的時候,我們往往使用 branch 解決任務切換問題,例如,我們往往會建一個自己的分支去修改和除錯程式碼,,如果別人或者自己發現原有的分支上有個不得不修改的 bug,我們往往會把完成一半的程式碼 commit 提交到本地倉庫,然後切換分支去修改 bug,改好之後再切換回來。這樣的話往往 log 上會有大量不必要的記錄,比較冗餘。
其實如果我們不想提交完成一半或者不完善的程式碼,但是卻不得不去修改一個緊急 Bug,那麼使用 ‘git stash’ 就可以將你當前未提交到本地(和伺服器)的程式碼推入到 Git 的棧中,這時候你的工作區間和上一次提交的內容是完全一樣的,所以你可以放心的修 Bug,等到修完 Bug,提交到伺服器上後,再將之前一半的工作狀態恢復回來。
幾個命令的簡要說明:
git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容儲存到 Git 棧中。
git stash pop: 從 Git 棧中讀取最近一次儲存的內容,恢復工作區的相關內容。由於可能存在多個 Stash 的內容,所以用棧來管理,pop 會從最近的一個 stash 中讀取內容並恢復。
git stash list: 顯示 Git 棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空 Git 棧。
比較簡單,這裡不截圖舉例了。
git tag
這也是一個比較實用的命令,關於打標籤的具體操作,在此不做贅述,有很多很詳細的博文,給個傳送:
有些需要注意的點單獨拿出來說一下:預設標籤是打在最新提交的 commit 上的。有時候,如果忘了打標籤,比如,現在已經是週日了,但應該在週一打的標籤沒有打,怎麼辦?方法是找到歷史提交的commit id,然後打上就可以了:
git tag v0.9 需要打標籤的 commit id
- 1
最後要說說如何刪除遠端分支,我們有時候把不想要的分支 push 到 server 上,想要刪除掉。可以使用以下命令:
- 刪除本地分支
git branch -d branch-name
- 1
- 提交一個空分支到遠端伺服器
git push origin :branch-name
- 1
特別要注意的是,冒號前面的空格不能少,原理是把一個空分支 push 到 server 上,相當於刪除該分支。