为什么你应该把所有的 Linux 点文件都保存在 GitHub 上为什么你应该把所有的 Linux 点文件都保存在 GitHub 上为什么你应该把所有的 Linux 点文件都保存在 GitHub 上为什么你应该把所有的 Linux 点文件都保存在 GitHub 上
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

为什么你应该把所有的 Linux 点文件都保存在 GitHub 上

发表 admin at 2025年2月28日
类别
  • 未分类
标签

总结

  • 使用 git 管理 dotfile 可以节省时间并提供强大的备份选项。
  • 将点文件存储在像 git 这样的版本控制系统 (VCS) 中可以确保在多台机器上实现一致的设置。
  • 使用 GitHub 托管点文件可以轻松共享和协作。

Dotfile 是配置 Linux 系统的一种可访问且功能强大的方法。但是,您如何跟踪它们并在必要时重复使用它们呢?试试 git。

什么是 Dotfile?

在 Linux 上,名称以 “.” 开头的任何文件都是隐藏文件。默认情况下,它不会显示在您的文件管理器或命令行上的文件列表中。

一些 Linux 程序使用隐藏文件进行配置,通常会将它们转储到您的主目录中。这是一个有用的设置,因为它可以防止配置,同时确保它仍然可访问。由于此配置是纯文本文件,因此易于阅读和编辑。您还可以使用 Linux 命令行工具集来处理您的系统配置。

点文件的常见示例包括:

  • .bashrc 和 .zshrc
  • .exrc
  • .gitconfig
  • .npmrc

Git 或 GitHub 如何提供帮助?

点文件很棒,但它们是特定于系统的。当您需要更换计算机、使用辅助设备或访问远程服务器时,您可能会发现自己需要重新设置。

将点文件存储在 VCS(版本控制系统)中可以帮助您避免这种重复性任务,从而允许您立即在另一台计算机上重用您的配置。只需查看您的存储库,您将获得相同的 shell 别名、熟悉的主题和一致的行为。

更重要的是,在 git 中存储点文件是一个强大的备份选项。您甚至可以检查存储库的历史记录,以发现您更改特定配置的时间和原因。在协作环境中,您甚至可以通过 git 共享您的点文件,以确保所有团队成员都拥有一致的环境。

为此,GitHub 是其中的精华。如果你有另一个地方来托管你的 git 仓库,你当然可以这样做,但 GitHub 让它变得容易得多。

使用 Git 和 GitHub 管理 Dotfile 的最佳方式

首先,了解在 git 中存储任何形式的点文件都将是一个重大胜利。关于最佳方法,有具体的详细信息,但如果您可以在 git 中存储文件、更新它并检查它,您将从以这种方式管理您的点文件中受益匪浅。

但是,以下方法在网上被广泛推荐,它对我有用。这种特殊的设置应该可以帮助您以最少的努力使所有内容保持同步。

设置一个裸存储库和一些基架

由于你的主目录可能有很多你不需要的东西在你的 dotfiles 仓库中,所以最好避免使用标准设置。相反,您可以在裸存储库中管理您的点文件。

裸存储库就像没有实际项目文件的普通存储库。它包含描述这些文件历史记录的所有 git 元数据,只是没有文件本身。这些文件可以位于其他位置 — 在您的工作目录中 — 您只需使用裸存储库对它们进行版本控制。

首先在新位置创建一个裸存储库,例如:

        mkdir $HOME/.dotfiles
git init --bare $HOME/.dotfiles

    

当您使用此存储库时,您需要提供一个工作目录(用于文件)和一个 git 目录(用于存储库本身):

        git --work-tree=$HOME --git-dir=$HOME/.dotfiles ...

    

与其在每次使用 git 时都键入此内容,不如设置别名。您还可以提供裸存储库本身的路径,以便您可以从任何目录使用它:

        alias dotfiles="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME" 

    

存储您的 Dotfile

首先确定要进行版本控制的点文件。

然后,您可以运行以下命令来开始对 .bashrc 文件进行版本控制,例如:

        cd $HOME
dotfiles add .bashrc
dotfiles commit -m "Bash run control file"

    

除了使用 dotfiles 别名而不是普通的 git 命令外,你还可以像往常一样使用 git 来跟踪这些文件。这种方法实际上稍微简单一些,因为您可以从任何目录运行类似 “dotfiles log” 的命令。

将您的仓库上传到 GitHub

您可能会发现在 GitHub 等提供商上托管仓库很方便。这样可以更轻松地共享对点文件的访问,尤其是从不同网络上的机器共享。即使使用现有存储库,也很容易做到这一点:

  1. 从 Create a New Repository (创建新存储库) 页面开始。
  2. 输入 Repository name (存储库名称)。
  3. 选择 Public (公共) 或 Private (私有) 存储库;Private 可能是最好的(见下文)。
  4. 单击 Create Repository (创建存储库)。

此时,您将看到一个包含设置说明的屏幕。要推送现有存储库,只需运行以下两个命令:

        dotfiles remote add origin https://github.com/<user>/<repo>.git
dotfiles push -u origin main

    

Where 是您的 GitHub 用户名,是您为仓库选择的名称。

将存储库上传到 GitHub 时要非常小心:您的 dotfile 可能包含敏感数据。理想情况下,应避免将包含密码的文件提交到任何存储库。如果您无法避免,请至少考虑使用私有 GitHub 存储库;但是,您需要为此付费。

在另一个系统上使用

要在另一台机器上共享你的点文件,你需要重复上述过程并检出裸仓库。特别是,这意味着有两个重要步骤。首先,签出仓库的裸副本:

        cd $HOME
git clone --bare https://github.com/<user>/<repo>.git

    

这通常会签出到名为 .git 的目录中。签出后,您可以随意重命名此名称。

重新创建您正在使用的 git 包装器别名:

        alias dotfiles="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME"

    

现在,您可以使用版本控制的点文件填充您的工作目录 — 您的 HOME:

        dotfiles checkout

    

此时,您可能会看到有关覆盖工作树文件的错误。这是因为您可能已经拥有旧的或默认的点文件,例如 .bashrc。只需删除或移动这些,然后重复结帐即可。


对 dotfile 进行版本控制将在您升级或切换系统时省去很多麻烦。您还可以查看完整的历史记录,并查看何时更改了什么以及为什么更改。

©2015-2025 Norria support@norria.com