成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

7個管理家目錄的 Git 技巧

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

[[394515]]

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

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

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

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

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

1、文本和二進制位置

 

家目錄

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

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

許多 Linux 發行版提供了一組默認目錄:

  • Documents
  • Downloads
  • Music
  • Photos
  • Templates
  • Videos

如果需要,你可以創建更多。例如,我把創作的音樂(Music)和購買來聆聽的音樂(Albums)區分開來。同樣,我的電影(Cinema)目錄包含了其他人的電影,而視頻(Videos)目錄包含我需要編輯的視頻文件。換句話說,我的默認目錄結構比大多數 Linux 發行版提供的默認設置更詳細,但是我認為這樣做有好處。如果沒有適合你的目錄結構,你更會將其存放在家目錄中,因為沒有更好的存放位置,因此請提前考慮并規劃好適合你的工作目錄。你以后總是可以添加更多,但是最好先開始擅長的。

2、、設置最優的 .gitignore

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

  1. $ cd
  2. $ git init .

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

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

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

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

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

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

3、了解你的數據

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

 

Filelight

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

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

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

5、不要擔心二進制文件

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

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

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

6、使用私有存儲庫

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

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

7、要記得推送

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

Git 家目錄

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

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-07-29 11:30:31

GitLinux命令

2020-03-30 17:38:02

云計算云遷移IT

2025-04-11 08:26:41

2019-10-25 14:00:01

協作遠程IT團隊工具

2020-03-04 10:33:15

云計算IT云原生

2024-06-04 12:37:18

2024-08-26 14:42:04

Python目錄管理

2014-12-03 10:04:49

Eclipse

2021-05-11 12:30:21

PyTorch代碼Python

2020-04-13 09:55:45

CIOIT預算首席信息官

2017-11-06 13:25:25

MySQL數據庫技巧

2010-05-24 14:06:31

JavaScript

2012-02-13 13:44:46

JavaScript

2018-05-04 09:14:09

Git技巧shell命令

2020-03-25 08:00:32

Kubernetes節點工作

2012-10-29 11:01:17

2021-01-08 10:32:42

項目預算項目經理

2021-06-28 11:46:31

GitLinux

2015-11-30 17:12:31

Git使用技巧

2012-12-12 13:44:31

Git
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利视频亚洲 | 中文字幕日韩一区 | 成人精品鲁一区一区二区 | 四虎影院在线观看av | 亚洲精品国产成人 | 一区二区三区四区国产 | 国产毛片毛片 | 91久久网站 | 国产日韩欧美激情 | 欧美视频二区 | 国产 日韩 欧美 中文 在线播放 | 国产精品久久久久久久久久久久 | 国产高清在线 | 日韩在线视频免费观看 | 亚洲第一女人av | 国产高清在线观看 | 日日天天 | 国产免费视频 | 日韩精品一区二区三区中文字幕 | 九九九久久国产免费 | 久久最新网址 | avmans最新导航地址 | 特黄色一级毛片 | 亚洲激情一区二区三区 | 麻豆视频国产在线观看 | 日韩欧美在线不卡 | 中文字幕第90页 | 久久99深爱久久99精品 | 99国产视频 | 久久艹免费视频 | 中文字幕男人的天堂 | 草久视频| 日韩免费成人av | 337p日本欧洲亚洲大胆 | 黄色大片免费网站 | 国产精品美女久久久久久免费 | 亚洲视频一区在线观看 | 激情国产| 国产中文字幕在线观看 | 亚洲精品视频在线 | 免费一级片 |