欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git 命令使用技巧提供工作效率

 更新時(shí)間:2016年09月28日 14:57:26   投稿:lqh  
這篇文章主要介紹了Git 命令使用技巧提供工作效率的相關(guān)資料,需要的朋友可以參考下

與其他技術(shù)相比,Git應(yīng)該拯救了更多開發(fā)人員的飯碗。只要你經(jīng)常使用Git保存自己的工作,你就一直有機(jī)會(huì)可以將代碼退回到之前的狀態(tài),因此就可以挽回那些你深夜里迷迷糊糊犯下的錯(cuò)誤。

盡管這么說,Git的命令行界面可是出了名的難掌握。接下來,就給大家介紹7個(gè)小技巧,最大限度發(fā)揮Git的作用。

通常,大部分時(shí)間我們都只會(huì)用到add、commit、branch和push/pull這些命令。大部分人熟悉這套只往一個(gè)方向運(yùn)轉(zhuǎn)的工作流。你們有沒有想過,如果自己往倉(cāng)庫(kù)中添加了錯(cuò)誤的文件,或是將代碼提交到了錯(cuò)誤的分支,而且提交信息還寫錯(cuò)了的話,自己怎樣才能取消之前的操作?如果你也是按照上面漫畫中所描繪的一樣操作的(即刪除本地項(xiàng)目文件夾,再重新下載倉(cāng)庫(kù)),那么你就有必要了解下面這些Git使用技巧了。

七個(gè)你無法忽視的 Git 使用技巧

1. 修改錯(cuò)誤的提交信息commit message

提交信息很長(zhǎng)時(shí)間內(nèi)會(huì)一直保留在你的代碼庫(kù)code base中,所以你肯定希望通過這個(gè)信息正確地了解代碼修改情況。 下面這個(gè)命令可以讓你編輯最近一次的提交信息,但是你必須確保沒有對(duì)當(dāng)前的代碼庫(kù)working copy做修改,否則這些修改也會(huì)隨之一起提交。

$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”

假如你已經(jīng)將代碼提交(git commit)推送(git push)到了遠(yuǎn)程分支,那么你需要通過下面的命令強(qiáng)制推送這次的代碼提交。

$ git push <remote> <branch> --force

你可以關(guān)注Stack Overflow網(wǎng)站上的這條問答, 獲取更多詳情。

2. 提交之前撤銷 git add

如果你往暫存區(qū)staging area中加入了一些錯(cuò)誤的文件,但是還沒有提交代碼。你可以使用一條簡(jiǎn)單的命令就可以撤銷。如果只需要移除一個(gè)文件,那么請(qǐng)輸入:

$ git reset <文件名>

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

$ git reset

你可以關(guān)注Stack Overflow網(wǎng)站上的這條問答, 獲取更多詳情。

3. 撤銷最近一次代碼提交

有時(shí)候你可能會(huì)不小心提交了錯(cuò)誤的文件或一開始就遺漏了某些東西。下面這三步操作可以幫助你解決這個(gè)問題。

$ git reset --soft HEAD~1
# 對(duì)工作文件進(jìn)行必要的更改
$ git add -A .
$ git commit -c ORIG_HEAD

你執(zhí)行第一個(gè)命令時(shí),Git會(huì)將HEAD指針后移到此前的一次提交,之后你才能移動(dòng)文件或作必要的修改。

然后你就可以添加所有的修改,而且當(dāng)你執(zhí)行最后的命令時(shí),Git會(huì)打開你的默認(rèn)文本編輯器,其中會(huì)包含上一次提交時(shí)的信息。如果愿意的話,你可以修改提交信息,或者你也可以在最后的命令中使用-C而不是-c,來跳過這一步。

4. Git倉(cāng)庫(kù)撤銷至前一次提交時(shí)的狀態(tài)

“撤銷”revert在許多情況下是非常有必要的——尤其是你把代碼搞的一團(tuán)糟的情況下。最常見的情況是,你想回到之前代碼版本,檢查下那個(gè)時(shí)候的代碼庫(kù),然后再回到現(xiàn)在狀態(tài)。這可以通過下面的命令實(shí)現(xiàn):

$ git checkout <SHA>

“”是你想查看的提交擁有的哈希值Hash Code中前8至10個(gè)字符。 這個(gè)命令會(huì)使<HEAD>指針脫離detach,可以讓你在不檢出check out任何分支的情況下查看代碼——脫離HEAD并不像聽上去那么可怕。如果你想在這種情況下提交修改,你可以通過創(chuàng)建新的分支來實(shí)現(xiàn):

$ git checkout -b <SHA>

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

你可以關(guān)注Stack Overflow網(wǎng)站上的這條問答, 獲取更多詳情。

5. 撤銷合并Merge

要想撤銷合并,你可能必須要使用恢復(fù)命令HARD RESET回到上一次提交的狀態(tài)。“合并”所做的工作基本上就是重置索引,更新working tree(工作樹)中的不同文件,即當(dāng)前提交()代碼中與HEAD游標(biāo)所指向代碼之間的不同文件;但是合并會(huì)保留索引與working tree之間的差異部分(例如那些沒有被追蹤的修改)。

$ git checkout -b <SHA>

當(dāng)然,Git中總是有其他的實(shí)現(xiàn)辦法,你可以查看看這篇文章繼續(xù)了解。

6. 從當(dāng)前Git分支移除未追蹤的本地文件

假設(shè)你湊巧有一些未被追蹤的文件(因?yàn)椴辉傩枰鼈儯?,不想每次使用git status命令時(shí)讓它們顯示出來。下面是解決這個(gè)問題的一些方法:

$ git clean -f -n         # 1
$ git clean -f            # 2
$ git clean -fd           # 3
$ git clean -fX           # 4
$ git clean -fx           # 5

(1): 選項(xiàng)-n將顯示執(zhí)行(2)時(shí)將會(huì)移除哪些文件。
(2): 該命令會(huì)移除所有命令(1)中顯示的文件。
(3): 如果你還想移除文件件,請(qǐng)使用選項(xiàng)-d。
(4): 如果你只想移除已被忽略的文件,請(qǐng)使用選項(xiàng)-X。
(5): 如果你想移除已被忽略和未被忽略的文件,請(qǐng)使用選項(xiàng)-x。
請(qǐng)注意最后兩個(gè)命令中X的區(qū)別。

更多詳情,請(qǐng)查看官方文檔中關(guān)于git-clean的介紹。

7. 刪除本地和遠(yuǎn)程Git分支

刪除本地分支:

$ git branch --delete --force <branchName>

或者使用選項(xiàng)-D作為簡(jiǎn)寫:

$ git branch -D

刪除遠(yuǎn)程分支:

$ git push origin --delete <branchName>

建議:要想更好地掌握Git的用法,請(qǐng)仔細(xì)閱讀Git官方文檔。

通過此文,希望能幫助到有需要的朋友,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 滑動(dòng)窗口算法高效率解決數(shù)組問題

    滑動(dòng)窗口算法高效率解決數(shù)組問題

    這篇文章主要為大家介紹了滑動(dòng)窗口算法高效率解決數(shù)組問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 解決啟動(dòng)Azkaban報(bào)錯(cuò)問題:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap

    解決啟動(dòng)Azkaban報(bào)錯(cuò)問題:java.lang.NoSuchMethodError: com.google.comm

    這篇文章主要介紹了啟動(dòng)Azkaban報(bào)錯(cuò):java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap,需要的朋友可以參考下
    2020-05-05
  • VSCode中ESLint插件修復(fù)以及配置教程

    VSCode中ESLint插件修復(fù)以及配置教程

    最近為vsocde配置Eslint出現(xiàn)了許多問題,我解決問題之后,覺得還是把這些坑都寫清楚,方便學(xué)習(xí)前端的初學(xué)者,下面這篇文章主要給大家介紹了關(guān)于VSCode中ESLint插件修復(fù)以及配置教程的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 永恒之藍(lán)實(shí)戰(zhàn)教程之Mac通過Metasploit攻擊Server2008的詳細(xì)過程

    永恒之藍(lán)實(shí)戰(zhàn)教程之Mac通過Metasploit攻擊Server2008的詳細(xì)過程

    這篇文章主要介紹了永恒之藍(lán)實(shí)戰(zhàn)教程?Mac通過Metasploit攻擊Server2008,首先準(zhǔn)備一個(gè)Server2008,主要功能是使網(wǎng)絡(luò)上的機(jī)器能夠共享計(jì)算機(jī)文件、打印機(jī)、串行端口和通訊等資源,需要的朋友可以參考下
    2022-08-08
  • 45個(gè)GIT經(jīng)典操作場(chǎng)景使用詳解

    45個(gè)GIT經(jīng)典操作場(chǎng)景使用詳解

    這篇文章主要介紹了45個(gè)GIT經(jīng)典操作場(chǎng)景使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • linux系統(tǒng)使用vscode進(jìn)行qt開發(fā)的過程分享

    linux系統(tǒng)使用vscode進(jìn)行qt開發(fā)的過程分享

    最近在Linux上搞Qt,搞的一頭霧水,小編把整個(gè)過程記錄下,分享需要的朋友,如果大家對(duì)linux系統(tǒng)使用vscode進(jìn)行qt開發(fā)相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • Git配置.gitignore文件忽略被指定的文件上傳

    Git配置.gitignore文件忽略被指定的文件上傳

    這篇文章介紹了Git配置.gitignore文件忽略被指定文件上傳的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 高效管理http連接的方法

    高效管理http連接的方法

    下面小編就為大家分享一篇高效管理http連接的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 程序員學(xué)英語(yǔ)的一個(gè)方法

    程序員學(xué)英語(yǔ)的一個(gè)方法

    這篇文章主要介紹了程序員學(xué)英語(yǔ)的一個(gè)方法,程序員學(xué)習(xí)英語(yǔ)是很有必要的,只要堅(jiān)持下去,相信必有收獲,需要的朋友可以參考下
    2014-08-08
  • Git 2.27.0詳細(xì)安裝步驟詳解

    Git 2.27.0詳細(xì)安裝步驟詳解

    這篇文章主要介紹了Git 2.27.0詳細(xì)安裝步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論