溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux中管理家目錄的Git技巧有哪些

發(fā)布時間:2021-10-26 10:33:45 來源:億速云 閱讀:142 作者:小新 欄目:系統(tǒng)運維

小編給大家分享一下linux中管理家目錄的Git技巧有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、文本和二進(jìn)制位置

linux中管理家目錄的Git技巧有哪些

家目錄

當(dāng)由 Git  管理時,除了配置文件之外,你的家目錄對于所有內(nèi)容而言都是“無人之地”。這意味著當(dāng)你打開主目錄時,除了可預(yù)見的目錄的列表之外,你什么都看不到。不應(yīng)有任何雜亂無章的照片或  LibreOffice 文檔,也不應(yīng)有 “我就在這里放一分鐘” 的臨時文件。

原因很簡單:使用 Git 管理家目錄時,家目錄中所有  提交的內(nèi)容都會變成噪音。每次執(zhí)行 git status 時,你都必須翻過去之前 Git 未跟蹤的任何文件,因此將這些文件保存在子目錄(添加到 .gitignore 文件中)至關(guān)重要。

許多 Linux 發(fā)行版提供了一組默認(rèn)目錄:

  • Documents

  • Downloads

  • Music

  • Photos

  • Templates

  • Videos

如果需要,你可以創(chuàng)建更多。例如,我把創(chuàng)作的音樂(Music)和購買來聆聽的音樂(Albums)區(qū)分開來。同樣,我的電影(Cinema)目錄包含了其他人的電影,而視頻(Videos)目錄包含我需要編輯的視頻文件。換句話說,我的默認(rèn)目錄結(jié)構(gòu)比大多數(shù)  Linux  發(fā)行版提供的默認(rèn)設(shè)置更詳細(xì),但是我認(rèn)為這樣做有好處。如果沒有適合你的目錄結(jié)構(gòu),你更會將其存放在家目錄中,因為沒有更好的存放位置,因此請?zhí)崆翱紤]并規(guī)劃好適合你的工作目錄。你以后總是可以添加更多,但是最好先開始擅長的。

2、、設(shè)置最優(yōu)的 .gitignore

清理家目錄后,你可以像往常一樣將其作為 Git 存儲庫實例化:

$ cd$ git init .

你的 Git 倉庫中還沒有任何內(nèi)容,你的家目錄中的所有內(nèi)容均未被跟蹤。你的第一項工作是篩選未跟蹤文件的列表,并確定要保持未跟蹤狀態(tài)的文件。要查看未跟蹤的文件:

$ git status  .AndroidStudio3.2/  .FBReader/  .ICEauthority  .Xauthority  .Xdefaults  .android/  .arduino15/  .ash_history[...]

根據(jù)你使用家目錄的時間長短,此列表可能很長。簡單的是你在上一步中確定的目錄。通過將它們添加到名為 .gitignore 的隱藏文件中,你告訴 Git 停止將它們列為未跟蹤文件,并且永遠(yuǎn)不對其進(jìn)行跟蹤:

$ \ls -lg | grep ^d | awk '{print $8}' >> ~/.gitignore

完成后,瀏覽 git status 所示的其余未跟蹤文件,并確定是否有其他文件需要排除。這個過程幫助我發(fā)現(xiàn)了幾個陳舊的配置文件和目錄,這些文件和目錄最終被我全部丟棄了,而且還發(fā)現(xiàn)了一些特定于一臺計算機(jī)的文件和目錄。我在這里非常嚴(yán)格,因為許多配置文件在自動生成時會表現(xiàn)得更好。例如,我從不提交我的  KDE 配置文件,因為許多文件包含了諸如最新文檔之類的信息以及其他機(jī)器上不存在的其他元素。

我會跟蹤我的個性化配置文件、腳本和實用程序、配置文件和 Bash 配置,以及速查表和我經(jīng)常引用的其他文本片段。如果有軟件主要負(fù)責(zé)維護(hù)的文件,則將其忽略。當(dāng)對一個文件不確定時,我將其忽略。你以后總是可以取消忽略它(通過從 .gitignore 文件中刪除它)。

3、了解你的數(shù)據(jù)

我使用的是 KDE,因此我使用開源掃描程序 Filelight 來了解我的數(shù)據(jù)概況。Filelight 為你提供了一個圖表,可讓你查看每個目錄的大小。你可以瀏覽每個目錄以查看占用了空間的內(nèi)容,然后回溯調(diào)查其他地方。這是一個令人著迷的系統(tǒng)視圖,它使你可以以全新的方式看待你的文件。

linux中管理家目錄的Git技巧有哪些

Filelight

使用 Filelight 或類似的實用程序查找不需要提交的意外數(shù)據(jù)緩存。例如,KDE 文件索引器(Baloo)生成了大量特定于其主機(jī)的數(shù)據(jù),我絕對不希望將其傳輸?shù)搅硪慌_計算機(jī)。

4、不要忽略你的 .gitignore 文件

在某些項目中,我告訴 Git 忽略我的 .gitignore 文件,因為有時我要忽略的內(nèi)容特定于我的工作目錄,并且我不認(rèn)為同一項目中的其他開發(fā)人員需要我告訴他們 .gitignore 文件應(yīng)該是什么樣子。因為我的家目錄僅供我使用,所以我  會忽略我的家目錄的 .gitignore 文件。我將其與其他重要文件一起提交,因此它已在我的所有系統(tǒng)中被繼承。當(dāng)然,從家目錄的角度來看,我所有的系統(tǒng)都是相同的:它們具有一組相同的默認(rèn)文件夾和許多相同的隱藏配置文件。

5、不要擔(dān)心二進(jìn)制文件

我對我的系統(tǒng)進(jìn)行了數(shù)周的嚴(yán)格測試,確信將二進(jìn)制文件提交到 Git 絕對不是明智之舉。我試過 GPG 加密的密碼文件、試過  LibreOffice 文檔、JPEG、PNG 等等。我甚至有一個腳本,可以在將 LibreOffice 文件添加到 Git  之前先解壓縮,提取其中的 XML,以便僅提交 XML,然后重新構(gòu)建 LibreOffice 文件,以便可以在 LibreOffice  中繼續(xù)工作。我的理論是,提交 XML 會比使用 ZIP 文件(LibreOffice 文檔實際上就是一個 ZIP 文件)會讓 Git  存儲庫更小一些。

令我驚訝的是,我發(fā)現(xiàn)偶爾提交一些二進(jìn)制文件并沒有大幅增加我的 Git 存儲庫的大小。我使用 Git 已經(jīng)很長時間了,我知道如果我要提交幾千兆的二進(jìn)制數(shù)據(jù),我的存儲庫將會受到影響,但是偶爾提交幾個二進(jìn)制文件也不是不惜一切代價要避免的緊急情況。

有了這種信心,我將字體 OTF 和 TTF 文件添加到我的標(biāo)準(zhǔn)主存儲庫,以及 GDM 的 .face 文件以及其他偶爾小型二進(jìn)制 Blob 文件。不要想太多,不要浪費時間去避免它。只需提交即可。

6、使用私有存儲庫

即使托管方提供了私人帳戶,也不要將你的主目錄提交到公共 Git 存儲庫。如果你像我一樣,擁有 SSH 密鑰、GPG 密鑰鏈和 GPG 加密的文件,這些文件不應(yīng)該出現(xiàn)在任何人的服務(wù)器上,而應(yīng)該出現(xiàn)在我自己的服務(wù)器上。

我在樹莓派上 運行本地 Git 服務(wù)器(這比你想象的要容易),因此我可以在家里時隨時更新任何一臺計算機(jī)。我是一名遠(yuǎn)程工作者,所以通常情況下就足夠了,但是我也可以在旅行時通過 虛擬私人網(wǎng)絡(luò) 訪問我的計算機(jī)。

7、要記得推送

Git 的特點是,只有當(dāng)你告訴它要推送改動時,它才會把改動推送到你的服務(wù)器上。如果你是 Git 的老用戶,則此過程可能對你很自然。對于可能習(xí)慣于 Nextcloud 或 Syncthing 自動同步的新用戶,這可能需要一些時間來適應(yīng)。

以上是“l(fā)inux中管理家目錄的Git技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI