我想版本控制我~
下的配置文件和脚本,例如.bashrc
,.vimrc
,.bash_profile
等。但这需要{{1在主文件夹中会干扰主页下面的其他git repos,并且需要将所有其他文件添加到git init
。
最好的方法是什么?我正在考虑在专用文件夹中设置一个包含所有配置文件的repo,并将它们符号链接到原始位置但是这需要额外的步骤来为我需要同步的所有盒子上的所有新添加的文件创建符号链接synlinks可能不适用于所有应用。
最好的方法是什么?
答案 0 :(得分:2)
.gitignore
支持模式,因此您可以使用它来枚举您想要控制的文件:
#Ignore all
/*
#But not these
!.bash*
!.vimrc
!etc...
就是这样。
顺便说一句,如果git看到一个包含.git
的子文件夹 - 子文件夹将被忽略。
答案 1 :(得分:1)
我至少看到两种解决问题的方法。我们假设所有存储库都存储在~/mygits
下。
.gitignore
~/.bash_profile ~/.bashrc ~/.git/* ~/.gitignore ~/mygits/**
.gitignore
$ cat .gitignore mygits
mydotfiles
)放在其他存储库旁边的~/mygits
下... ~/mygits/mydotfiles/bash_profile ~/mygits/mydotfiles/bashrc
...并创建指向文件的链接
ln -s mygits/mydotfiles/bash_profile ~/.bash_profile ln -s mygits/mydotfiles/bashrc ~/.bashrc
在我看来,第二种方式更好,因为你不需要考虑阻止将其他东西从homedir放到这个存储库中。
最后,希望我的解释清楚。