七個你必須重視的 Git 使用技巧
與其他技術相比,Git應該拯救了更多開發人員的飯碗。只要你經常使用Git儲存自己的工作,你就一直有機會可以將程式碼退回到之前的狀態,因此就可以挽回那些你深夜裡迷迷糊糊犯下的錯誤。
儘管這麼說,Git的命令列介面可是出了名的難掌握。接下來,就給大家介紹7個小技巧,最大限度發揮Git的作用。
通常,大部分時間我們都只會用到add、commit、branch和push/pull這些命令。大部分人熟悉這套只往一個方向運轉的工作流。你們有沒有想過,如果自己往倉庫中新增了錯誤的檔案,或是將程式碼提交到了錯誤的分支,而且提交資訊還寫錯了的話,自己怎樣才能取消之前的操作?如果你也是按照上面漫畫中所描繪的一樣操作的(即刪除本地專案資料夾,再重新下載倉庫),那麼你就有必要了解下面這些Git使用技巧了。
1. 修改錯誤的提交資訊(commit message)
提交資訊很長時間內會一直保留在你的程式碼庫(code base)中,所以你肯定希望通過這個資訊正確地瞭解程式碼修改情況。 下面這個命令可以讓你編輯最近一次的提交資訊,但是你必須確保沒有對當前的程式碼庫(working copy)做修改,否則這些修改也會隨之一起提交。
$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”
假如你已經將程式碼提交(git commit)推送(git push)到了遠端分支,那麼你需要通過下面的命令強制推送這次的程式碼提交。
$ git push <remote> <branch> --force
你可以關注Stack Overflow網站上的這條問答, 獲取更多詳情。
2. 提交之前撤銷 git add
如果你往暫存區(staging area)中加入了一些錯誤的檔案,但是還沒有提交程式碼。你可以使用一條簡單的命令就可以撤銷。如果只需要移除一個檔案,那麼請輸入:
$ git reset <檔名>
或者如果你想從暫存區移除所有沒有提交的修改:
$ git reset
你可以關注Stack Overflow網站上的這條問答, 獲取更多詳情。
3. 撤銷最近一次程式碼提交
有時候你可能會不小心提交了錯誤的檔案或一開始就遺漏了某些東西。下面這三步操作可以幫助你解決這個問題。
$ git reset --soft HEAD~1 # 對工作檔案進行必要的更改 $ git add -A . $ git commit -c ORIG_HEAD
你執行第一個命令時,Git會將HEAD指標後移到此前的一次提交,之後你才能移動檔案或作必要的修改。
然後你就可以新增所有的修改,而且當你執行最後的命令時,Git會開啟你的預設文字編輯器,其中會包含上一次提交時的資訊。如果願意的話,你可以修改提交資訊,或者你也可以在最後的命令中使用-C而不是-c,來跳過這一步。
4. Git倉庫撤銷至前一次提交時的狀態
“撤銷”(revert)在許多情況下是非常有必要的——尤其是你把程式碼搞的一團糟的情況下。最常見的情況是,你想回到之前程式碼版本,檢查下那個時候的程式碼庫,然後再回到現在狀態。這可以通過下面的命令實現:
$ git checkout <SHA>
“”是你想檢視的提交擁有的雜湊值(Hash Code)中前8至10個字元。 這個命令會使<HEAD>指標脫離(detach),可以讓你在不檢出(check out)任何分支的情況下檢視程式碼——脫離HEAD並不像聽上去那麼可怕。如果你想在這種情況下提交修改,你可以通過建立新的分支來實現:
$ git checkout -b <SHA>
要想回到當前的工作進度,只需要檢出(check out)你之前所在的分支即可。
你可以關注Stack Overflow網站上的這條問答, 獲取更多詳情。
5. 撤銷合併(Merge)
要想撤銷合併,你可能必須要使用恢復命令(HARD RESET)回到上一次提交的狀態。“合併”所做的工作基本上就是重置索引,更新working tree(工作樹)中的不同檔案,即當前提交()程式碼中與HEAD遊標所指向程式碼之間的不同檔案;但是合併會保留索引與working tree之間的差異部分(例如那些沒有被追蹤的修改)。
$ git checkout -b <SHA>
當然,Git中總是有其他的實現辦法,你可以檢視看這篇文章繼續瞭解。
6. 從當前Git分支移除未追蹤的本地檔案
假設你湊巧有一些未被追蹤的檔案(因為不再需要它們),不想每次使用git status命令時讓它們顯示出來。下面是解決這個問題的一些方法:
$ git clean -f -n # 1 $ git clean -f # 2 $ git clean -fd # 3 $ git clean -fX # 4 $ git clean -fx # 5
- (1): 選項-n將顯示執行(2)時將會移除哪些檔案。
- (2): 該命令會移除所有命令(1)中顯示的檔案。
- (3): 如果你還想移除檔案件,請使用選項-d。
- (4): 如果你只想移除已被忽略的檔案,請使用選項-X。
- (5): 如果你想移除已被忽略和未被忽略的檔案,請使用選項-x。
請注意最後兩個命令中X的區別。
更多詳情,請檢視官方文件中關於git-clean的介紹。
7. 刪除本地和遠端Git分支
刪除本地分支:
$ git branch --delete --force <branchName>
或者使用選項-D作為簡寫:
$ git branch -D
刪除遠端分支:
$ git push origin --delete <branchName>
建議:要想更好地掌握Git的用法,請仔細閱讀Git官方文件。
相關文章
- Git中~你必須掌握的!Git
- 你必須『收藏』的Github技巧Github
- 你必須收藏的Github技巧Github
- 10 個你必須掌握的超酷 VI 命令技巧
- 必須學會使用的35個Jquery小技巧jQuery
- 15個必須知道的chrome開發者技巧Chrome
- 10個必須掌握的PHP關聯陣列使用技巧PHP陣列
- Git 12 歲了,為你送上 12 個 Git 的使用技巧!Git
- Vue開發必須知道的36個技巧Vue
- 釋出新聞稿必須知道的七大SEO技巧
- Git 12 歲了,送給你 12 個 Git 使用技巧Git
- Gradle:你必須掌握的開發常見技巧Gradle
- 必須知道的28個HTML5特性、技巧HTML
- 15 個必須知道的 Chrome 開發工具技巧Chrome
- Vue3.0之前你必須知道的TypeScript實戰技巧VueTypeScript
- 29 個你必須知道的 Linux 命令Linux
- Python你必須知道的十個庫Python
- 用好WIN7必須記住的70個技巧Win7
- @程式設計師,安全問題必須重視!程式設計師
- 你必須知道的 SmartSql !SQL
- 網頁設計師必須知道的6個小技巧網頁
- K8s必須掌握的7個除錯技巧K8S除錯
- 前端設計師必須知道的10個重要的CSS技巧前端CSS
- git 必須要熟練掌握的命令Git
- 你必須掌握的視覺化大屏開發模式視覺化模式
- 大資料狂想:你必須把握的未來七大趨勢大資料
- 新手入門:入手MacBook 後必須知道的 幾 個小技巧?Mac
- 這幾個python常用的庫你必須知道!Python
- 關於機器學習你必須瞭解的十個真相機器學習
- 復工在即,遊戲企業必須重視的20大問題!遊戲
- 你必須收藏的 ES6 語法密糖 - Spread Operator 技巧
- 你必須收藏的 ES6 語法密糖 – Spread Operator 技巧
- ?你必須知道的Java泛型Java泛型
- 使用Redis之前5個必須瞭解的事情Redis
- Python 這10個字典操作你必須知道Python
- 搭建Prometheus平臺,你必須考慮的6個因素Prometheus
- 檔案管理,你必須要知道的三個要點
- Listing圖片的這些點必須重視致亞馬遜賣家亞馬遜