與其他技術(shù)相比,Git應(yīng)該拯救了更多開發(fā)人員的飯碗。只要你經(jīng)常使用Git保存自己的工作,你就一直有機會可以將代碼退回到之前的狀態(tài),因此就可以挽回那些你深夜里迷迷糊糊犯下的錯誤。
盡管這么說,Git的命令行界面可是出了名的難掌握。接下來,就給大家介紹7個小技巧,最大限度發(fā)揮Git的作用。
通常,大部分時間我們都只會用到add、commit、branch和push/pull這些命令。大部分人熟悉這套只往一個方向運轉(zhuǎn)的工作流。你們有沒有想過,如果自己往倉庫中添加了錯誤的文件,或是將代碼提交到了錯誤的分支,而且提交信息還寫錯了的話,自己怎樣才能取消之前的操作?如果你也是按照上面漫畫中所描繪的一樣操作的(即刪除本地項目文件夾,再重新下載倉庫),那么你就有必要了解下面這些Git使用技巧了。
提交信息很長時間內(nèi)會一直保留在你的代碼庫(code base)中,所以你肯定希望通過這個信息正確地了解代碼修改情況。 下面這個命令可以讓你編輯最近一次的提交信息,但是你必須確保沒有對當(dāng)前的代碼庫(working copy)做修改,否則這些修改也會隨之一起提交。
假如你已經(jīng)將代碼提交(git commit)推送(git push)到了遠(yuǎn)程分支,那么你需要通過下面的命令強制推送這次的代碼提交。
你可以關(guān)注Stack Overflow網(wǎng)站上的這條問答, 獲取更多詳情。
如果你往暫存區(qū)(staging area)中加入了一些錯誤的文件,但是還沒有提交代碼。你可以使用一條簡單的命令就可以撤銷。如果只需要移除一個文件,那么請輸入:
或者如果你想從暫存區(qū)移除所有沒有提交的修改:
你可以關(guān)注Stack Overflow網(wǎng)站上的這條問答, 獲取更多詳情。
有時候你可能會不小心提交了錯誤的文件或一開始就遺漏了某些東西。下面這三步操作可以幫助你解決這個問題。
你執(zhí)行第一個命令時,Git會將HEAD指針后移到此前的一次提交,之后你才能移動文件或作必要的修改。
然后你就可以添加所有的修改,而且當(dāng)你執(zhí)行最后的命令時,Git會打開你的默認(rèn)文本編輯器,其中會包含上一次提交時的信息。如果愿意的話,你可以修改提交信息,或者你也可以在最后的命令中使用-C而不是-c,來跳過這一步。
“撤銷”(revert)在許多情況下是非常有必要的——尤其是你把代碼搞的一團糟的情況下。最常見的情況是,你想回到之前代碼版本,檢查下那個時候的代碼庫,然后再回到現(xiàn)在狀態(tài)。這可以通過下面的命令實現(xiàn):
“”是你想查看的提交擁有的哈希值(Hash Code)中前8至10個字符。 這個命令會使
指針脫離(detach),可以讓你在不檢出(check out)任何分支的情況下查看代碼——脫離HEAD并不像聽上去那么可怕。如果你想在這種情況下提交修改,你可以通過創(chuàng)建新的分支來實現(xiàn):要想回到當(dāng)前的工作進(jìn)度,只需要檢出(check out)你之前所在的分支即可。
你可以關(guān)注Stack Overflow網(wǎng)站上的這條問答, 獲取更多詳情。
要想撤銷合并,你可能必須要使用恢復(fù)命令(HARD RESET)回到上一次提交的狀態(tài)?!昂喜ⅰ彼龅墓ぷ骰旧暇褪侵刂盟饕聎orking tree(工作樹)中的不同文件,即當(dāng)前提交()代碼中與HEAD游標(biāo)所指向代碼之間的不同文件;但是合并會保留索引與working tree之間的差異部分(例如那些沒有被追蹤的修改)。
當(dāng)然,Git中總是有其他的實現(xiàn)辦法,你可以查看看這篇文章繼續(xù)了解。
假設(shè)你湊巧有一些未被追蹤的文件(因為不再需要它們),不想每次使用git status命令時讓它們顯示出來。下面是解決這個問題的一些方法:
請注意最后兩個命令中X的區(qū)別。
更多詳情,請查看官方文檔中關(guān)于git-clean的介紹。
刪除本地分支:
或者使用選項-D作為簡寫:
刪除遠(yuǎn)程分支:
建議:要想更好地掌握Git的用法,請仔細(xì)閱讀Git官方文檔。
聯(lián)系客服