指定要使用的 git 存储库

指定要使用的 git 存储库

我有一个名为 cgit 的 bash 脚本,其作用如下git对于一个特定的 git回购协议(位于/.git):

#!/bin/bash
cd /;
sudo git $@ > /dev/stdout

我用它来跟踪重要的系统文件:

cgit add /etc/rc.conf

问题是当我尝试添加相对于我所在目录的内容时,例如:

cd /home/user
cgit add .ssh/config

吉特会尝试添加/.ssh/config到存储库中/.git

有什么建议或解决方法吗?

答案1

我会更新您的 cgit 脚本以使用--git-dir.从手册页:

   --git-dir=<path>
       Set the path to the repository. This can also be controlled by
       setting the GIT_DIR environment variable. It can be an absolute
       path or relative path to current working directory.

所以它会变成:

#!/bin/bash
sudo git --git-dir=/.git $@ > /dev/stdout

FTR,我还没试过。

答案2

更好用等等管理员而不是您自己的本土解决方案。 etckeeper 很好地解决了许多问题。它是多个 Linux 发行版中的一个软件包,并且也很容易从源代码构建。

基于 Debian 的系统上一个非常好的功能是它与 apt 结合起来,在安装或更新软件包之前和之后自动提交。这有助于区分您自己所做的更改和软件包更新所做的更改。它还(可选)进行每日自动提交。

相关内容