易语言伪原创源码(源码控制中维护点文件的第一条线索:写一个安装)
优采云 发布时间: 2022-02-27 03:17易语言伪原创源码(源码控制中维护点文件的第一条线索:写一个安装)
当您将环境置于源代码控制之下时,开发虚拟机和容器就成为一种解决方案,而不是问题。
你有没有开始使用一台新电脑,无论是自愿还是因为旧电脑让你的魔力消失了,对需要多长时间才能把所有东西都做好而感到沮丧?更糟糕的是,您是否花了一些时间重新配置您的 shell 提示,然后意识到您更喜欢以前的方式?
对我来说,当我决定在容器中开发时,这个问题变得很严重。容器是非持久的。开发工具很容易修复:带有这些工具的容器镜像可以工作。源代码很容易修复:源代码控制维护它,开发在一个分支上。但是如果每次创建容器都需要仔细配置,那就很痛苦了。
主目录的版本控制
将配置文件保存在版本控制中一直是一个有吸引力的选择。但天真地这样做令人担忧。无法直接进行版本控制〜。
首先,太多的程序认为把秘密放在那里是安全的。此外,它是像 ~/Downloads 和 ~/Pictures 这样的文件夹的位置,它们可能不应该被版本化。
小心地将 .gitignore 文件保存在您的主目录中以管理收录和排除列表是有风险的。在某些时候,这些路径之一会出错,花费数小时的配置会丢失,大文件会出现在 Git 历史记录中,或者最糟糕的是,秘密和密码会泄露。当这个策略失败时,它就变成了灾难性的失败。
手动维护大量符号链接也不起作用。版本控制的全部原因是避免手动维护配置。
编写安装脚本
这暗示了在源代码管理中维护点文件的第一条线索:编写安装脚本。
像所有好的安装脚本一样,使其具有幂等性:运行两次不会将配置增加两次。
像所有好的安装脚本一样,让它做最少的事情:使用其他技巧来指向源代码管理中的配置文件。
~/.config 目录
现代 Linux 程序先在 ~/.config 中查找,然后再直接在主目录中查找配置。最重要的例子是 git,它在 ~/.config/git 中查找。
这意味着安装脚本可以将 ~/.config 符号链接到主目录中源代码管理的管理目录中的目录:
#!/bin/bash
set -e
DOTFILES="$(dirname $(realpath $0))"
[ -L ~/.config ] || ln -s $DOTFILES/config ~/.config
该脚本查找它的位置,然后将 ~/.config 链接到它被检出的位置。这意味着几乎没有关于它需要在主目录中的位置的假设。
获取文件
大多数 shell 仍然直接在主目录中查找文件。要解决此问题,您需要添加一层说明。从 $DOTFILES 获取文件意味着您在修改 shell 配置时不需要重新运行安装程序。
再次注意,这个脚本小心地做到幂等:如果该行已经存在,它不会添加它。它还考虑了您已经对 .bashrc 进行的任何编辑,虽然这不是一个好主意,但也没有必要惩罚它。
重复测试
当您将环境置于源代码控制之下时,开发虚拟机和容器就成为一种解决方案,而不是问题。尝试做一个实验。设置一个新的开发环境,克隆你的 dotfile,安装,看看哪里出了问题。
不要只做一次。每周至少做一次。这会让你更快地完成,同时也会告诉你什么是不可行的。暴露问题,解决问题,然后重复。
通过:
作者:Moshe Zadka 题目:lujun9972 译者:geekpi 校对:wxy
本文由LCTT原创编译,Linux中国荣幸推出