站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

git CLI提供了大量的git命令,以使開發(fā)人員更輕松地進(jìn)行軟件開發(fā)。為了方便讀者,我們的編輯人員概述了一些最有用的命令。因此,請(qǐng)繼續(xù)閱讀并按照自己的節(jié)奏發(fā)現(xiàn)它們。

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

21、將標(biāo)簽添加到您的項(xiàng)目

標(biāo)簽使您可以標(biāo)記開源項(xiàng)目中的重要事件。開發(fā)人員經(jīng)常使用它們來(lái)標(biāo)記新的復(fù)發(fā)或錯(cuò)誤修復(fù)。請(qǐng)仔細(xì)查看以下git命令,以了解如何使用git將標(biāo)簽添加到項(xiàng)目中。

linuxidc@Ubuntu:~/www.linuxidc.com$ git tag 1.0.0 new-linuxidc
linuxidc@ubuntu:~/www.linuxidc.com$ git tag 1.0.0 new-linuxidc
fatal: 標(biāo)簽 ‘1.0.0’ 已存在

此命令將標(biāo)簽1.0.0添加到特定的提交。您可以使用以下命令獲取commit-id(new-linuxidc)。

linuxidc@ubuntu:~/www.linuxidc.com$ git log
commit 482b4bebada278b29001338411de7c42743065d5 (HEAD -> new-linuxidc, tag: 1.0.0, master)
Author: linuxidc <root@linuxidc.net>
Date:  Thu Apr 30 14:21:46 2020 +0800

    Linuxidc Commit

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

使用以下命令將標(biāo)簽推送到您的遠(yuǎn)程倉(cāng)庫(kù)中。

linuxidc@ubuntu:~/www.linuxidc.com$ git push origin –tags

您需要明確指定–tags選項(xiàng)。否則,標(biāo)簽只會(huì)添加到您的本地倉(cāng)庫(kù)中,而不會(huì)添加到遠(yuǎn)程倉(cāng)庫(kù)中。

22、獲取遠(yuǎn)程數(shù)據(jù)

您將經(jīng)常使用的另一個(gè)常見git命令是fetch。由于許多原因,它非常有用。首先,訪存僅檢索新數(shù)據(jù)/引用,而不將它們合并到本地分支。因此,您可以放心,本地倉(cāng)庫(kù)的工作副本將保持安全可靠。

linuxidc@ubuntu:~/www.linuxidc.com$ git fetch origin

這是檢查遠(yuǎn)程代碼庫(kù)最新進(jìn)度而又不破壞項(xiàng)目自己版本的絕佳方法。一旦確定所有新數(shù)據(jù)都可以使用,只需將它們合并到本地分支即可。

23、恢復(fù)未提交的更改

git restore命令允許開發(fā)人員恢復(fù)其項(xiàng)目中所有未提交的更改。這些是您對(duì)項(xiàng)目的工作版本或本地索引中的內(nèi)容所做的更改。您可以使用此命令來(lái)還原工作副本中的更改或索引中的更改,或者同時(shí)執(zhí)行這兩個(gè)操作。

linuxidc@ubuntu:~/www.linuxidc.com$ git restore –staged linuxidc1.py
linuxidc@ubuntu:~/www.linuxidc.com$ git restore –source=HEAD –staged –worktree linuxidc1.py

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下) 

第一個(gè)命令將還原索引中的文件linuxidc1.py,第二個(gè)命令將還原索引和項(xiàng)目的當(dāng)前工作目錄。

24、刪除文件

有時(shí),您可能希望從工作樹或項(xiàng)目索引中完全刪除一些文件。您可以使用git rm命令來(lái)執(zhí)行此操作。但是,此命令不會(huì)從您的工作目錄中刪除指定的文件。使用Linux rm命令執(zhí)行此操作。

$ git rm *.py
$ git rm -r dir/
$ git rm –cached *.py

第一條命令從工作樹和索引中刪除所有py文件。第二個(gè)命令從dir/目錄中刪除所有內(nèi)容。最后一條命令將僅從索引而不是工作樹中刪除所有py文件。

25、移動(dòng)或重命名文件

您可以使用git移動(dòng)或重命名文件,就像使用Linux mv命令一樣。

git mv linuxidc1.py linuxidc11.py

上面的命令只是執(zhí)行以下Linux操作。

$ mv test.py new-test.py
$ git add new-test.py
$ rm test.py

因此,您可以使用git mv命令來(lái)避免輸入大量額外的Linux終端命令。

在git中移動(dòng)和重命名文件

26、清理未跟蹤的文件

未跟蹤的文件是不在git版本控制系統(tǒng)下的文件。在進(jìn)行大型項(xiàng)目時(shí),您經(jīng)常會(huì)偶然發(fā)現(xiàn)此類文件。您可以使用幾種方法刪除它們,包括git reset和git checkout。但是,使用git clean命令是最合適的方法。

linuxidc@ubuntu:~/www.linuxidc.com$ git clean
fatal: clean.requireForce 默認(rèn)為 true 且未提供 -i、-n 或 -f 選項(xiàng),拒絕執(zhí)行清理動(dòng)作

上面的命令失敗,因?yàn)檫@是在我的系統(tǒng)中配置git的方式。您可以通過(guò)添加-n,-i或-f選項(xiàng)來(lái)解決此問(wèn)題。

linuxidc@ubuntu:~/www.linuxidc.com$ git clean -n

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

27、優(yōu)化本地倉(cāng)庫(kù)

我最喜歡的git命令之一是gc。它用于垃圾收集,將幫助您減小本地倉(cāng)庫(kù)的大小。如果您正在處理大量項(xiàng)目,則應(yīng)經(jīng)常使用此命令。

linuxidc@ubuntu:~/www.linuxidc.com$ git gc
枚舉對(duì)象: 10, 完成.
對(duì)象計(jì)數(shù)中: 100% (10/10), 完成.
壓縮對(duì)象中: 100% (10/10), 完成.
寫入對(duì)象中: 100% (10/10), 完成.
總共 10 (差異 0),復(fù)用 0 (差異 0)

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

git gc命令運(yùn)行得非常快,并清理了本地倉(cāng)庫(kù)中所有不必要的文件。由于其速度和效率,它是最佳的優(yōu)化方法之一。您也可以使用–aggressive選項(xiàng)來(lái)增加優(yōu)化。但是,這將需要更多時(shí)間才能完成。

28、存檔本地倉(cāng)庫(kù)

您可以使用git archive命令輕松地歸檔本地倉(cāng)庫(kù)。它允許開發(fā)人員將他們的項(xiàng)目安全地存儲(chǔ)在某個(gè)地方。您可以通過(guò)網(wǎng)絡(luò)傳輸此存檔,也可以將其存儲(chǔ)在Linux文件系統(tǒng)上。

linuxidc@ubuntu:~/www.linuxidc.com$ git archive –output=test –format=tar master

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

上面的命令將倉(cāng)庫(kù)存儲(chǔ)在名為test的tar文件中。如果需要,可以省略–format選項(xiàng)。在這種情況下,git將嘗試從名稱中推斷出存檔格式。此命令還有更多選項(xiàng)可用。

29、搜索模式

在大型項(xiàng)目中工作時(shí),通常需要搜索其他內(nèi)容。幸運(yùn)的是,git grep命令使我們能夠在倉(cāng)庫(kù)中搜索特定的模式,并使開發(fā)更加容易。它的工作方式與標(biāo)準(zhǔn)Linux grep命令非常相似,具有一些特定于git的功能。

linuxidc@ubuntu:~/www.linuxidc.com$ git grep -iw ‘import’ master

此命令在我們的master分支中顯示所有包含“ import”的行。它以不區(qū)分大小寫的方式搜索。以下命令將在所有提交和分支中搜索給定的模式。

linuxidc@ubuntu:~/www.linuxidc.com$ git grep ‘import’ $(git rev-list –all)

如果您正在協(xié)作大型項(xiàng)目,這是最好的git命令之一。

30、管理工作樹

開發(fā)人員可以在git中使用多個(gè)工作樹。當(dāng)簽出多個(gè)項(xiàng)目分支時(shí),這很有用。檢查以下git命令,以了解如何在git中管理工作樹。

linuxidc@ubuntu:~/www.linuxidc.com$ git worktree list
linuxidc@ubuntu:~/www.linuxidc.com$ git worktree add new-branch
linuxidc@ubuntu:~/www.linuxidc.com$ git worktree remove new-branch
linuxidc@ubuntu:~/www.linuxidc.com$ git worktree prune

您可以使用第一個(gè)命令顯示當(dāng)前的工作樹。使用第二個(gè)命令添加一個(gè)新的“鏈接的工作樹”,并使用第三個(gè)命令刪除該樹。最后一條命令允許您修剪工作樹信息。

31、刪除未跟蹤的對(duì)象

有時(shí)您可能想刪除不再由git跟蹤的對(duì)象。Git提供了一個(gè)簡(jiǎn)單的命令來(lái)執(zhí)行此操作。git prune命令只會(huì)從對(duì)象數(shù)據(jù)庫(kù)中刪除未跟蹤的對(duì)象,而不會(huì)刪除引用本身。

linuxidc@ubuntu:~/www.linuxidc.com$ git prune –dry-run
linuxidc@ubuntu:~/www.linuxidc.com$ git prune –verbose –progress

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

第一條命令不會(huì)刪除任何內(nèi)容,只會(huì)顯示修剪后會(huì)刪除的對(duì)象。第二條命令在刪除期間提供詳細(xì)的輸出以及進(jìn)度報(bào)告。您可以使用prune命令和git gc命令一起優(yōu)化倉(cāng)庫(kù)。

32、打包未歸檔文件

在git中,包是單個(gè)壓縮對(duì)象的集合。Git對(duì)這些對(duì)象應(yīng)用增量壓縮并將其存儲(chǔ)在單個(gè)文件中。它們用于減少Linux文件系統(tǒng)或鏡像系統(tǒng)上的負(fù)載。git repack命令允許用戶創(chuàng)建新的包,這些包由不位于現(xiàn)有包內(nèi)的對(duì)象組成。

linuxidc@ubuntu:~/www.linuxidc.com$ git repack

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

您可以將此命令與gic gc和git prune一起使用,以優(yōu)化git倉(cāng)庫(kù)。

33、計(jì)算解包的對(duì)象數(shù)量

除非解壓縮的對(duì)象太多,否則不應(yīng)經(jīng)常重新打包對(duì)象。git count-objects命令是一種簡(jiǎn)單但有用的方法,用于查看解包對(duì)象的數(shù)量及其消耗的磁盤空間。

linuxidc@ubuntu:~/www.linuxidc.com$ git count-objects

使用上面的命令來(lái)確定是否應(yīng)該重新打包git。您可以添加–verbose標(biāo)志以獲取詳細(xì)信息,還可以添加–人類可讀標(biāo)志以常規(guī)方式顯示尺寸。

34、驗(yàn)證對(duì)象數(shù)據(jù)庫(kù)

Git最初是作為文件系統(tǒng)開發(fā)的。它具有一個(gè)稱為fsck的有用命令,其作用與Unix fsck非常相似。您可以使用此命令來(lái)驗(yàn)證連接性并執(zhí)行對(duì)象的完整性檢查。

linuxidc@ubuntu:~/www.linuxidc.com$ git fsck

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

運(yùn)行以上命令將顯示在對(duì)象數(shù)據(jù)庫(kù)中找到的所有損壞的對(duì)象。它是查找丟失或不良對(duì)象的最有用的git命令之一。

35、顯示每次提交的更改

git whatchanged命令是我們最喜歡的git子命令中的另一個(gè)。這是一種查看每個(gè)git commit引入到我們項(xiàng)目的更改的簡(jiǎn)單但有效的方法。

linuxidc@ubuntu:~/www.linuxidc.com$ git whatchanged

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

此git命令將使用提交日志和diff輸出顯示信息。總的來(lái)說(shuō),它的操作與git log命令非常相似。

36、匯總?cè)罩拘畔?/strong>

您還可以使用git shortlog命令查看歷史記錄。該命令的主要思想是將輸出包含在發(fā)行公告中。快速瀏覽以下命令以了解其工作原理。

linuxidc@ubuntu:~/www.linuxidc.com$ git shortlog
linuxidc@ubuntu:~/www.linuxidc.com$ git shortlog –email –summary

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

添加–email選項(xiàng)將顯示每個(gè)作者的電子郵件。該-summary選項(xiàng)會(huì)抑制通常輸出,只會(huì)顯示提交的數(shù)目。

37、管理配置選項(xiàng)

git有大量可用的配置選項(xiàng)。您可以使用git config命令查詢,設(shè)置或替換各種選項(xiàng)。可以對(duì)特定倉(cāng)庫(kù)和全局配置進(jìn)行更改。

linuxidc@ubuntu:~/www.linuxidc.com$ git config –list

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(下)

上面的命令將在git中列出所有當(dāng)前設(shè)置的配置選項(xiàng)。您可以輕松添加或刪除新選項(xiàng)。遵循config子命令的幫助頁(yè)面以了解如何執(zhí)行這些任務(wù)。

linuxidc@ubuntu:~/www.linuxidc.com$ git config –help

38、Git幫助

git或任何其他Linux終端命令的幫助頁(yè)面提供了所有可用選項(xiàng)的摘要信息。當(dāng)您遇到git問(wèn)題時(shí),它應(yīng)該是第一個(gè)訪問(wèn)的地方。快速瀏覽以下命令以了解如何調(diào)用git幫助頁(yè)面。

linuxidc@ubuntu:~/www.linuxidc.com$ git help
linuxidc@ubuntu:~/www.linuxidc.com$ git –help

因此,您可以使用Unix風(fēng)格的–help選項(xiàng)或git中內(nèi)置的help子命令來(lái)查詢git幫助頁(yè)面。此外,git還提供了有關(guān)子命令的幫助頁(yè)面。

linuxidc@ubuntu:~/www.linuxidc.com$ git <command> –help
linuxidc@ubuntu:~/www.linuxidc.com$ git commit –help

39、手冊(cè)頁(yè)

手冊(cè)頁(yè)包含有關(guān)git版本控制系統(tǒng)及其所有子命令的深入信息。您可以按照以下語(yǔ)法查看它們。

linuxidc@ubuntu:~/www.linuxidc.com$ man git
linuxidc@ubuntu:~/www.linuxidc.com$ man git commit

因此,您也可以像使用幫助頁(yè)面一樣查看各個(gè)子命令的手冊(cè)。

40、顯示版本信息

您可以使用以下簡(jiǎn)單命令查看系統(tǒng)上已安裝的git版本。由于git在很大程度上隨著時(shí)間的推移而發(fā)展,因此各種git版本之間存在顯著差異。

linuxidc@ubuntu:~/www.linuxidc.com$ git –version

只需使用以上命令即可在您的計(jì)算機(jī)上獲取特定版本的git。

總結(jié)

Git憑借其實(shí)用的設(shè)計(jì)和多樣化的功能集,鞏固了其作為事實(shí)上的版本控制系統(tǒng)的地位。盡管有一些很好的選擇,例如Mercurial和CVS,但是大量實(shí)用的git命令使它比競(jìng)爭(zhēng)對(duì)手更通用。我們的編輯竭盡全力為您概述最實(shí)用的命令。希望您已從本指南中獲得了所需的基本見解。如果您對(duì)特定命令有疑問(wèn),請(qǐng)隨時(shí)向我們提問(wèn)。

40個(gè)適用于Linux管理員和開發(fā)人員的git命令(上) http://www.hospitaldelafe.com/Linux/2020-04/163079.htm

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
亚洲精品动漫人成3d在线| 国产91成人精品亚洲精品| 久久国产精品亚洲综合| 九色精品视频在线观看| 四虎精品影库4HUTV四虎| 亚洲国产精品日韩| 国产精品成久久久久三级| 老司机无码精品A| 国产精品久久永久免费| 99久热re在线精品996热视频| 精品精品国产自在久久高清| 97久久综合精品久久久综合| 国产精品综合久成人| 亚洲成人国产精品| 日本精品自产拍在线观看中文 | 97久久超碰国产精品旧版| 久久久精品人妻一区二区三区蜜桃| 国产精品日本一区二区不卡视频 | 国产精品麻花传媒二三区别| 国产主播精品在线| 99爱在线精品免费观看| 精品成人乱色一区二区| 亚洲系列国产精品制服丝袜第| 老司机亚洲精品影院无码| 人妻精品久久久久中文字幕69| 久久99青青精品免费观看| 久久精品国产亚洲香蕉| 久久99热国产这有精品| 国内精品久久久久久99蜜桃| 黑人大战亚洲人精品一区| 曰韩精品无码一区二区三区| 丰满人妻熟妇乱又伦精品视| 亚洲热线99精品视频| 久久99热国产这有精品| 久久只有这里的精品69| 亚洲国产精品国自产拍电影| 99这里只精品热在线获取| 久久久久无码精品国产| 精品久久8x国产免费观看| 97久久久精品综合88久久| 亚洲国产精品无码观看久久|