日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
碼農(nóng)可能每天都會(huì)用到的Git命令速查表

日常問題的實(shí)用答案

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),吉隆網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:吉隆等地區(qū)。吉隆做網(wǎng)站價(jià)格咨詢:18982081108

我每天都使用Git。

大多數(shù)軟件開發(fā)人員也是如此。

老實(shí)說,萊納斯·托瓦爾茲(Linus Torvalds)的小小項(xiàng)目幾乎感覺像是一個(gè)奇跡。

但是,該工具功能強(qiáng)大且功能強(qiáng)大,以至于很容易在其所有可能的命令中迷失方向。

因此,根據(jù)我自己的經(jīng)驗(yàn),以下是我經(jīng)常遇到的關(guān)于"如何使用Git進(jìn)行X運(yùn)算"的常見問題的解答。 我們中有些人甚至可能每天使用這些解決方案。

確實(shí),這里解決的許多命令將非常簡(jiǎn)單,并且通常為大多數(shù)開發(fā)人員所熟知。

但是,我認(rèn)為這對(duì)于記住一處您遺忘的命令可能是一個(gè)一站式服務(wù)的場(chǎng)所,并且為初學(xué)者提供了良好的基礎(chǔ)。

相反,如果您希望深入了解Git,可以查看這篇文章。

Git速查表

在不提交更改的情況下存儲(chǔ)更改

這是一個(gè)簡(jiǎn)單的示例,只需運(yùn)行:

 
 
 
  1. git stash 

然后,要恢復(fù)這些存儲(chǔ)的更改,并確保您位于同一分支,可以運(yùn)行:

 
 
 
  1. git stash apply 

干掉所有未提交的更改

有時(shí)您想嘗試一些方法,但效果不佳。 要擺脫自上一次提交以來(lái)所做的所有更改,只需運(yùn)行:

 
 
 
  1. git checkout -- . 

要僅清除特定文件或目錄中的更改,請(qǐng)。 可以替換為您希望從中刪除更改的文件和/或目錄的列表。

將fork與主倉(cāng)庫(kù)同步

分支項(xiàng)目時(shí),請(qǐng)務(wù)必保持最新狀態(tài),以避免在發(fā)出請(qǐng)求時(shí)出現(xiàn)復(fù)雜的合并沖突,或者只是確保您具有所有新功能和安全補(bǔ)丁。

因此,這是同步叉子的方法:

(1) 添加一個(gè)遠(yuǎn)程倉(cāng)庫(kù)

從分支的位置獲取上游(主)存儲(chǔ)庫(kù)的地址。 然后運(yùn)行以下命令,替換URL:

 
 
 
  1. git remote add upstream  

您可以通過運(yùn)行g(shù)it remote -v來(lái)檢查是否有效。

(2) 將fork與上游倉(cāng)庫(kù)同步

要同步派生,請(qǐng)獲取上游存儲(chǔ)庫(kù):

 
 
 
  1. git fetch upstream 

然后,在您要與之同步的分支(通常是主節(jié)點(diǎn))上,運(yùn)行:

 
 
 
  1. git merge upstream/master 

或git根據(jù)您選擇的策略對(duì)上游/主服務(wù)器進(jìn)行重新設(shè)置。

刪除最后的X次提交

做出一些您最終需要還原的提交? 您可以通過兩種方式進(jìn)行操作:

 
 
 
  1. git reset HEAD~2 # undo the commits but keep the changes 
  2. git reset --hard HEAD~2 # undo the commits and discard changes 

使用第二個(gè)選項(xiàng),就好像提交從未發(fā)生過。

您應(yīng)該將2替換為您希望從最新提交(HEAD)返回的提交數(shù)。

將各種提交壓縮為一個(gè)(無(wú)需重新設(shè)置!)

如果您想擺脫所有的"修訂錯(cuò)誤"提交,并將它們?nèi)亢喜橐粋€(gè),則可以使用以下方法:

 
 
 
  1. git reset --soft HEAD~2 && git commit -m "your message" 

請(qǐng)記住將2替換為您要從HEAD計(jì)數(shù)的提交次數(shù)。

在上一次提交時(shí)簽出項(xiàng)目的狀態(tài)

要返回過去查看過去一次給定提交的項(xiàng)目狀態(tài),請(qǐng)首先運(yùn)行g(shù)it log以查看提交歷史記錄,然后選擇要返回的提交。

然后,復(fù)制其哈希并僅運(yùn)行g(shù)it checkout 。 這將使您處于"分離頭"模式。 要返回,只需按名稱簽出分支即可。

忽略已經(jīng)添加到Git的文件

我們到過那里-添加或提交我們不應(yīng)該擁有的東西。 要將文件從Git跟蹤中刪除并保留在系統(tǒng)中,只需執(zhí)行以下操作:

 
 
 
  1. git reset  && echo  >> .gitignore 

提交后添加到提交中

如果要更改提交消息或向其中添加新文件,可以使用git ammend。

要更改消息,請(qǐng)使用:

 
 
 
  1. git commit --amend -m "

并向上一次提交添加新文件:

 
 
 
  1. git add  && git commit --amend 

請(qǐng)注意,這"省去了創(chuàng)建新提交的麻煩",但實(shí)際上確實(shí)在后臺(tái)創(chuàng)建了新提交。 因此,只有在尚未將更改推送到遠(yuǎn)程存儲(chǔ)庫(kù)時(shí),才應(yīng)該這樣做。

從Git刪除文件并修剪其整個(gè)歷史記錄

如果您曾經(jīng)將敏感數(shù)據(jù)推送到遠(yuǎn)程存儲(chǔ)庫(kù)(例如,在GitHub上),則不僅需要從Git跟蹤中刪除文件,還需要?jiǎng)h除其整個(gè)歷史記錄。

您也不應(yīng)該再使用該數(shù)據(jù),例如在使用API密鑰,密碼等的情況下。

這樣做的過程并不是最簡(jiǎn)單的,但是GitHub已經(jīng)編寫了一個(gè)整頁(yè)的教程,因此我認(rèn)為我應(yīng)該在這里鏈接它。

"從存儲(chǔ)庫(kù)中刪除敏感數(shù)據(jù)-GitHub"。

記錄合并沖突解決方案

為了避免多次解決相同的確切合并沖突,可以啟用合并沖突解決方案的Git緩存。 這將存儲(chǔ)合并沖突的解決方式,如果再次出現(xiàn),將自動(dòng)解決相同的沖突:

 
 
 
  1. git config --global rerere.enabled true 

在Git Docs上了解有關(guān)此內(nèi)容的更多信息。

錯(cuò)誤分支上的提交

如果您在錯(cuò)誤的分支上進(jìn)行了提交,則應(yīng)該能夠使用我們有關(guān)刪除提交的知識(shí)來(lái)解決該問題,如下所示:

 
 
 
  1. git branch  && git reset HEAD~2 --hard 

這將創(chuàng)建一個(gè)新分支,并從您錯(cuò)誤地添加了提交的當(dāng)前分支中刪除指定數(shù)量的提交。

如果您實(shí)際上希望這些提交在現(xiàn)有分支上而不是在新分支上進(jìn)行,則可以執(zhí)行以下操作:

 
 
 
  1. git checkout  && git merge  
  2. git checkout  && git reset HEAD~2 --hard 

但是,如果不能合并,則可以使用git cherry-pick,如下所示:

 
 
 
  1. git checkout  
  2. git cherry-pick  ~2 
  3. git checkout  && git reset HEAD~2 --hard 

更改分支名稱

要更改分支的名稱,請(qǐng)使用git branch -m。 您可以更改當(dāng)前分支的名稱:

 
 
 
  1. git branch -m  

或更改任何分支的名稱:

 
 
 
  1. git branch -m   

查找?guī)в绣e(cuò)誤的提交

如果您遇到與提交無(wú)關(guān)的問題,則需要確定過去是哪種提交導(dǎo)致了此問題。 這在測(cè)試中很常見,例如,由于一項(xiàng)與您的工作完全無(wú)關(guān)的測(cè)試而無(wú)法通過時(shí)。

在這種情況下,要查找"不良"提交,可以使用git bisect。

它的工作方式如下:

  • 開始過程
  •   
      
      
    1. git bisect start 
  • 將當(dāng)前提交標(biāo)記為"不良"
  •   
      
      
    1. git bisect bad 
  • 將過去的提交標(biāo)記為"良好"

例如,使用git log查找過去的提交,其中事情按預(yù)期進(jìn)行(即良好)。 然后,運(yùn)行:

 
 
 
  1. git bisect good  
  • 平分秋色!

您現(xiàn)在應(yīng)該收到以下消息:

 
 
 
  1. Bisecting: 2 revisions left to test after this (roughly 3 steps)[6ca4a67aeb4b0d9835ecf15e44505c48f93642c9] my-branch 

數(shù)字,哈希和分支名稱自然會(huì)與您不同。

在這里,Git正在做的事情是一步一步地完成提交,直到找到被破壞的提交為止。 您無(wú)需運(yùn)行g(shù)it checkout,因?yàn)樗褳槟幚怼?/p>

在每次提交時(shí),都應(yīng)檢查一切是否正常。 如果不是,請(qǐng)使用git bisect bad將提交標(biāo)記為錯(cuò)誤。 如果是,則使用git bisect good將其標(biāo)記為好。

將提交標(biāo)記為良好后,Git會(huì)將您帶到第一個(gè)"不良"提交(即,您標(biāo)記為不良的最后一個(gè)),以便您可以正確地調(diào)查錯(cuò)誤。 完成后,只需通過簽出分支(git checkout )返回分支的頭并解決問題。

今天是我給的。 Git是一個(gè)很棒的工具,我希望這個(gè)備忘單可以幫助您解決一路上可能遇到的一些問題。

它絕對(duì)不會(huì)涵蓋您需要了解的所有內(nèi)容,但這是一個(gè)好的開始。


網(wǎng)站名稱:碼農(nóng)可能每天都會(huì)用到的Git命令速查表
文章鏈接:http://www.dlmjj.cn/article/dhsgpjd.html