自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

7個管理家目錄的 Git 技巧

系統(tǒng) Linux
用 Git 管理我的家目錄是一個不斷發(fā)展的過程。隨著時間的推移我一直在學(xué)習(xí)和適應(yīng)。如果你決定使用 Git 管理家目錄,則可能需要記住以下幾點。

[[394515]]

這是我怎樣設(shè)置 Git 來管理我的家目錄的方法。

我有好幾臺電腦。一臺筆記本電腦用于工作,一臺工作站放在家里,一臺樹莓派(或四臺),一臺 Pocket CHIP,一臺 運行各種不同的 Linux 的 Chromebook,等等。我曾經(jīng)在每臺計算機(jī)上或多或少地按照相同的步驟設(shè)置我的用戶環(huán)境,也經(jīng)常告訴自己讓每臺計算機(jī)都略有不同。例如,我在工作中比在家里更經(jīng)常使用 Bash 別名,并且我在家里使用的輔助腳本可能對工作沒有用。

這些年來,我對各種設(shè)備的期望開始相融,我會忘記我在家用計算機(jī)上建立的功能沒有移植到我的工作計算機(jī)上,諸如此類。我需要一種標(biāo)準(zhǔn)化我的自定義工具包的方法。使我感到意外的答案是 Git。

Git 是版本跟蹤軟件。它以既可以用在非常大的開源項目也可以用在極小的開源項目而聞名,甚至最大的專有軟件公司也在用它。但是它是為源代碼設(shè)計的,而不是用在一個裝滿音樂和視頻文件、游戲、照片等的家目錄。我聽說過有人使用 Git 管理其家目錄,但我認(rèn)為這是程序員們進(jìn)行的一項附帶實驗,而不是像我這樣的現(xiàn)實生活中的用戶。

用 Git 管理我的家目錄是一個不斷發(fā)展的過程。隨著時間的推移我一直在學(xué)習(xí)和適應(yīng)。如果你決定使用 Git 管理家目錄,則可能需要記住以下幾點。

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

 

家目錄

當(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 存儲庫實例化:

  1. $ cd
  2. $ git init .

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

  1. $ git status
  2.   .AndroidStudio3.2/
  3.   .FBReader/
  4.   .ICEauthority
  5.   .Xauthority
  6.   .Xdefaults
  7.   .android/
  8.   .arduino15/
  9.   .ash_history
  10. [...]

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

  1. $ \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)視圖,它使你可以以全新的方式看待你的文件。

 

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)。

Git 家目錄

使用 Git 管理我的常用文件,不僅使我在不同設(shè)備上的生活更加便利。我知道我擁有所有配置和實用程序腳本的完整歷史記錄,這會鼓勵我嘗試新的想法,因為如果結(jié)果變得 很糟糕,則很容易回滾我的更改。Git 曾將我從在 .bashrc 文件中一個欠考慮的 umask 設(shè)置中解救出來、從深夜對包管理腳本的拙劣添加中解救出來、從當(dāng)時看似很酷的 rxvt 配色方案的修改中解救出來,也許還有其他一些錯誤。在家目錄中嘗試 Git 吧,因為這些提交會讓家目錄融合在一起。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-07-29 11:30:31

GitLinux命令

2020-03-30 17:38:02

云計算云遷移IT

2025-04-11 08:26:41

2020-03-04 10:33:15

云計算IT云原生

2024-06-04 12:37:18

2024-08-26 14:42:04

Python目錄管理

2019-10-25 14:00:01

協(xié)作遠(yuǎn)程IT團(tuán)隊工具

2017-11-06 13:25:25

MySQL數(shù)據(jù)庫技巧

2020-04-13 09:55:45

CIOIT預(yù)算首席信息官

2010-05-24 14:06:31

JavaScript

2012-02-13 13:44:46

JavaScript

2018-05-04 09:14:09

Git技巧shell命令

2014-12-03 10:04:49

Eclipse

2021-05-11 12:30:21

PyTorch代碼Python

2015-11-30 17:12:31

Git使用技巧

2020-03-25 08:00:32

Kubernetes節(jié)點工作

2021-01-08 10:32:42

項目預(yù)算項目經(jīng)理

2012-10-29 11:01:17

2012-12-12 13:44:31

Git

2018-04-15 15:43:46

Git技巧命令
點贊
收藏

51CTO技術(shù)棧公眾號