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

把“點文件”放到版本控制中

系統 Linux
通過在 GitLab 或 GitHub 上分享你的點文件,可以在整個系統上備份或同步你的自定義配置。

[[278368]]

通過在 GitLab 或 GitHub 上分享你的點文件,可以在整個系統上備份或同步你的自定義配置。

通過隱藏文件集(稱為點文件dotfile)來定制操作系統是個非常棒的想法。在這篇 Shell 點文件可以為你做點什么中,H. Waldo Grunenwald 詳細介紹了為什么以及如何設置點文件的細節。現在讓我們深入探討分享它們的原因和方式。

什么是點文件?

點文件dotfile”是指我們計算機中四處漂泊的配置文件。這些文件通常在文件名的開頭以 . 開頭,例如 .gitconfig,并且操作系統通常在默認情況下將其隱藏。例如,當我在 MacOS 上使用 ls -a 時,它才會顯示所有可愛的點文件,否則就不會顯示這些點文件。

  1. dotfiles on master
  2. ls
  3. README.md  Rakefile   bin       misc    profiles   zsh-custom
  4.  
  5. dotfiles on master
  6. ls -a
  7. .               .gitignore      .oh-my-zsh      README.md       zsh-custom
  8. ..              .gitmodules     .tmux           Rakefile
  9. .gemrc          .global_ignore .vimrc           bin
  10. .git            .gvimrc         .zlogin         misc
  11. .gitconfig      .maid           .zshrc          profiles

如果看一下用于 Git 配置的 .gitconfig,我能看到大量的自定義配置。我設置了帳戶信息、終端顏色首選項和大量別名,這些別名可以使我的命令行界面看起來就像我的一樣。這是 [alias] 塊的摘錄:

  1. 87   # Show the diff between the latest commit and the current state
  2. 88   d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
  3. 89
  4. 90   # `git di $number` shows the diff between the state `$number` revisions ago and the current state
  5. 91   di = !"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d"
  6. 92
  7. 93   # Pull in remote changes for the current repository and all its submodules
  8. 94   p = !"git pull; git submodule foreach git pull origin master"
  9. 95
  10. 96   # Checkout a pull request from origin (of a github repository)
  11. 97   pr = !"pr() { git fetch origin pull/$1/head:pr-$1; git checkout pr-$1; }; pr"

由于我的 .gitconfig 有 200 多行的自定義設置,我無意于在我使用的每一臺新計算機或系統上重寫它,其他人肯定也不想這樣。這是分享點文件變得越來越流行的原因之一,尤其是隨著社交編碼網站 GitHub 的興起。正式提倡分享點文件的文章是 Zach Holman 在 2008 年發表的《點文件意味著被復刻》。其前提到今天依然如此:我想與我自己、與點文件新手,以及那些分享了他們的自定義配置從而教會了我很多知識的人分享它們。

分享點文件

我們中的許多人擁有多個系統,或者知道硬盤變化無常,因此我們希望備份我們精心策劃的自定義設置。那么我們如何在環境之間同步這些精彩的文件?

我最喜歡的答案是分布式版本控制,最好是可以為我處理繁重任務的服務。我經常使用 GitHub,隨著我對 GitLab 的使用經驗越來越豐富,我肯定會一如既往地繼續喜歡它。任何一個這樣的服務都是共享你的信息的理想場所。要自己設置的話可以這樣做:

  1. 登錄到你首選的基于 Git 的服務。
  2. 創建一個名為 dotfiles 的存儲庫。(將其設置為公開!分享即關愛。)
  3. 將其克隆到你的本地環境。(你可能需要設置 Git 配置命令來克隆存儲庫。GitHub 和 GitLab 都會提示你需要運行的命令。)
  4. 將你的點文件復制到該文件夾中。
  5. 將它們符號鏈接回到其目標文件夾(最常見的是 $HOME)。
  6. 將它們推送到遠程存儲庫。

[[278369]]

上面的步驟 4 是這項工作的關鍵,可能有些棘手。無論是使用腳本還是手動執行,工作流程都是從 dotfiles 文件夾符號鏈接到點文件的目標位置,以便對點文件的任何更新都可以輕松地推送到遠程存儲庫。要對我的 .gitconfig 文件執行此操作,我要輸入:

  1. $ cd dotfiles/
  2. $ ln -nfs .gitconfig $HOME/.gitconfig

添加到符號鏈接命令的標志還具有其他一些用處:

  • -s 創建符號鏈接而不是硬鏈接。
  • -f 在發生錯誤時繼續做其他符號鏈接(此處不需要,但在循環中很有用)
  • -n 避免符號鏈接到一個符號鏈接文件(等同于其他版本的 ln 的 -h 標志)

如果要更深入地研究可用參數,可以查看 IEEE 和開放小組的 ln 規范以及 MacOS 10.14.3 上的版本。自從其他人的點文件中拉取出這些標志以來,我才發現了這些標志。

你還可以使用一些其他代碼來簡化更新,例如我從 Brad Parbs 復刻的 Rakefile。另外,你也可以像 Jeff Geerling 在其點文件中那樣,使它保持極其簡單的狀態。他使用此 Ansible 劇本對文件進行符號鏈接。這樣使所有內容保持同步很容易:你可以從點文件的文件夾中進行 cron 作業或偶爾進行 git push

簡單旁注:什么不能分享

在繼續之前,值得注意的是你不應該添加到共享的點文件存儲庫中的內容 —— 即使它以點開頭。任何有安全風險的東西,例如 .ssh/ 文件夾中的文件,都不是使用此方法分享的好選擇。確保在在線發布配置文件之前仔細檢查配置文件,并再三檢查文件中沒有 API 令牌。

我應該從哪里開始?

如果你不熟悉 Git,那么我有關 Git 術語的文章和常用命令備忘清單將會幫助你繼續前進。

還有其他超棒的資源可幫助你開始使用點文件。多年前,我就發現了 dotfiles.github.io,并繼續使用它來更廣泛地了解人們在做什么。在其他人的點文件中隱藏了許多秘傳知識。花時間瀏覽一些,大膽地將它們添加到自己的內容中。

我希望這是讓你在計算機上擁有一致的點文件的快樂開端。 

 

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

2022-02-18 15:36:53

源碼點文件

2013-04-25 10:28:38

大數據云服務

2024-09-29 15:21:01

2009-07-28 15:38:14

aspx文件編譯ASP.NET

2021-12-27 12:01:06

數據云端運維

2015-07-03 09:02:52

跳躍服務器帶寬

2009-06-29 18:09:12

多路復用Oracle

2010-05-21 09:42:22

Subversion學

2010-05-31 19:53:05

SVN版本控制插件

2009-12-08 12:45:17

Windows 7快捷

2024-07-18 08:59:39

CanvasWebWorker代碼

2011-09-28 13:28:56

F5虛擬化云計算

2010-06-02 14:16:18

SVN版本控制

2009-09-01 17:32:04

C#版本控制

2023-08-03 08:00:00

數據湖模式驗證

2025-05-19 08:05:00

數據庫MVCCMySQL

2010-05-31 20:07:31

SVN版本控制插件

2011-08-01 15:48:14

2009-03-23 09:53:47

LinuxGNOMEGit版本

2010-06-02 14:28:23

SVN版本控制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美视频免费在线观看 | 高清欧美性猛交xxxx黑人猛交 | 天天干天天爱天天 | 91日日 | 手机在线观看 | 国产视频导航 | 欧美成人精品一区二区三区 | 免费一区二区 | 青青草久久 | 青青草在线播放 | 欧美电影一区 | 日韩av看片 | 欧美日韩亚洲系列 | 国产精品一二三区 | 欧美在线日韩 | 欧美在线亚洲 | 四虎影视免费观看 | 伊人网99 | 亚洲欧美激情视频 | 丁香婷婷在线视频 | 国产视频二区 | 午夜免费福利电影 | 亚洲久久在线 | 国产丝袜一区二区三区免费视频 | 狠狠婷婷综合久久久久久妖精 | 日韩影院在线 | 久久国产视频网站 | av网站免费 | 久久免费精品 | 免费久久99精品国产婷婷六月 | 91免费在线看 | 每日更新av | 久久精品日产第一区二区三区 | 自拍中文字幕 | 男人天堂999 | 在线观看亚洲专区 | 成人午夜高清 | 成人黄色电影免费 | 91久久国产综合久久 | 欧美高清hd | 国产丝袜一区二区三区免费视频 |