七個你無法忽視的Git使用技巧

2021-07-08 09:56:40 字數 2129 閱讀 3433

修改錯誤的提交資訊(commit message)

提交資訊很長時間內會一直保留在你的**庫(code base)中,所以你肯定希望通過這個資訊正確地了解**修改情況。 下面這個命令可以讓你編輯最近一次的提交資訊,但是你必須確保沒有對當前的**庫(working copy)做修改,否則這些修改也會隨之一起提交。

$ git commit –amend -m 」your-new-commit-message」

假如你已經將**提交(git commit)推送(git push)到了遠端分支,那麼你需要通過下面的命令強制推送這次的**提交。

$ git push –force

提交之前撤銷git add

如果你往暫存區(staging area)中加入了一些錯誤的檔案,但是還沒有提交**。你可以使用一條簡單的命令就可以撤銷。如果只需要移除乙個檔案,那麼請輸入:

$ git reset 《檔名》

或者如果你想從暫存區移除所有沒有提交的修改:

$ git reset

撤銷最近一次**提交

有時候你可能會不小心提交了錯誤的檔案或一開始就遺漏了某些東西。下面這三步操作可以幫助你解決這個問題。

$ git reset –soft head~1gi

tadd

−a. git commit -c orig_head

你執行第乙個命令時,git會將head指標(pointer)後移到此前的一次提交,之後你才能移動檔案或作必要的修改。

然後你就可以新增所有的修改,而且當你執行最後的命令時,git會開啟你的預設文字編輯器,其中會包含上一次提交時的資訊。如果願意的話,你可以修改提交資訊,或者你也可以在最後的命令中使用-c而不是-c,來跳過這一步。

git倉庫撤銷至前一次提交時的狀態

「撤銷」(revert)在許多情況下是非常有必要的——尤其是你把**搞的一團糟的情況下。最常見的情況是,你想回到之前**版本,檢查下那個時候的**庫,然後再回到現在狀態。這可以通過下面的命令實現:

$ git checkout

「」是你想檢視的提交擁有的雜湊值(hash code)中前8至10個字元。 這個命令會使指標脫離(detach),可以讓你在不檢出(check out)任何分支的情況下檢視**——脫離head並不像聽上去那麼可怕。如果你想在這種情況下提交修改,你可以通過建立新的分支來實現:

$ git checkout -b

要想回到當前的工作進度,只需要檢出(check out)你之前所在的分支即可。

撤銷合併(merge)

要想撤銷合併,你可能必須要使用恢復命令(hard reset)回到上一次提交的狀態。「合併」所做的工作基本上就是重置索引,更新working tree(工作樹)中的不同檔案,即當前提交()**中與head游標所指向**之間的不同檔案;但是合併會保留索引與working tree之間的差異部分(例如那些沒有被追蹤的修改)。

$ git checkout -b

當然,git中總是有其他的實現辦法,你可以檢視看這篇文章繼續了解。

從當前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的介紹。

刪除本地和遠端git分支

刪除本地分支:

$ git branch –delete –force

或者使用選項-d作為簡寫:

$ git branch -d

刪除遠端分支:

$ git push origin –delete

七個你無法忽視的Git使用技巧

提交資訊很長時間內會一直保留在你的 庫 code base 中,所以你肯定希望通過這個資訊正確地了解 修改情況。下面這個命令可以讓你編輯最近一次的提交資訊,但是你必須確保沒有對當前的 庫 working copy 做修改,否則這些修改也會隨之一起提交。git commit amend m your ...

七個你無法忽視的Git使用技巧

程式開發中的版本控制必不可少,python開發也一樣。而版本控制系統中,目前使用最廣泛的,可能就是git,而它最著名的代表就是github。本篇譯文為大家介紹了7個git使用技巧,目的都是方便程式設計師彌補自己在開發中所犯的錯誤。與其他技術相比,git應該拯救了更多開發人員的飯碗。只要你經常使用gi...

七個你必須重視的 Git 使用技巧

程式開發中的版本控制必不可少,python開發也一樣。而版本控制系統中,目前使用最廣泛的,可能就是git,而它最著名的代表就是github。本篇譯文為大家介紹了7個git使用技巧,目的都是方便程式設計師彌補自己在開發中所犯的錯誤。與其他技術相比,git應該拯救了更多開發人員的飯碗。只要你經常使用gi...