使用 Git 管理您的点文件
2020 年 3 月 27 日 | Sébastien 'sogal' Poher | 无许可
点文件是什么???
通常被称为点文件的是所有包含你的软件配置的小型纯文本文件。大多数时候,它们位于你的 $HOME 目录中,但由于它们以点为前缀,因此它们被隐藏,因此得名。对于某些应用程序,你也可以在 $HOME/.config 目录中找到它们。
在管理它们(即跟踪更改、在不同的工作站之间移动它们、备份它们等)时,有不同的解决方案
- 老式的 USB 存储器
- 使用 rsync 同步它们
- 将它们同步到“云”中
- 将它们复制到中央文件夹并将其符号链接到应该找到它们的位置
在本文中,我们将重点介绍如何使用 Git 以高效和简单的方式管理它们。
Git 拯救你
在此示例中,我们将使用 $HOME/Dotfiles 作为 Git 仓库,但请随时根据你的需要进行更改。
首先,我们将初始化这个仓库
git init --bare $HOME/Dotfiles
然后,由于我们将使用的所有 git 命令都将引用此仓库,因此建议创建一个别名,例如
alias dotfiles='/usr/bin/git --git-dir=$HOME/Dotfiles --work-tree=$HOME'
你可以将此行添加到你的 $SHELL 配置文件(如果你使用 Bash 则为 $HOME/.bashrc,如果你使用 zsh 则为 $HOME/.zshrc)。
接下来,我们将配置 Git,使其不会显示所有未跟踪的文件。这是必需的,因为我们使用整个 $HOME 作为工作树。
dotfiles config --local status.showUntrackedFiles no
此时,你应该能够检查此仓库的状态
dotfiles status
然后你可以添加你的配置文件并按你希望的方式提交。例如,让我们添加我们的 .bashrc
dotfiles add .bashrc
dotfiles commit -m "Added .bashrc"
现在只需添加一个远程仓库(你自己的自托管 Git 或公共仓库),并将你的更改推送到它
dotfiles remote add origin git@yourgit.example.com/dotfiles.git
dotfiles push
设置一台新机器
现在你已经设置好了一切,让我们使用仓库中的点文件配置一台新的系统。
首先,本地克隆你的在线仓库
git clone --bare git@yourgit.example.com/dotfiles.git $HOME/Dotfiles
再次,你必须定义与之前相同的别名
alias dotfiles='/usr/bin/git --git-dir=$HOME/Dotfiles --work-tree=$HOME'
请记住将其放在你的 $SHELL 配置文件中。现在,只需将你刚刚克隆的仓库中的更改应用到你的系统
dotfiles checkout
如果某些文件已经存在,你将收到一个错误。这可能会发生在使用 openSUSE 安装和用户帐户创建期间默认创建的文件,例如 $HOME/.bashrc 文件,不用担心,只需重命名或删除它们即可。
现在,每次你更改由 Git 跟踪的配置文件时,请记住提交并推送你的更改。
来源
以下文章被用作本文的来源。非常感谢他们的作者
分类: Leap Tumbleweed 每周新闻
标签: openSUSE Tumbleweed git 配置 shell