我正在寻找一个开源版本控制系统,该系统可以配置为仅跟踪遍布文件系统的少量单个文件。与.gitignore相反的东西。
用例是跟踪我在安装操作系统后所做的更改。许多更改都在/ etc之外,所以我不能只在/ etc下进行修订控制。使用git进行版本控制似乎很慢。
似乎我可以使用.gitignore,如下所示。跟踪/例如/ usr / share / terminator / terminator:
*
!/usr
/usr/*
!/usr/share
/usr/share/*
!/usr/share/terminator
/use/share/terminator/*
!/usr/share/terminator/terminator
但这似乎有点笨拙(即使我要自动生成.gitignore)。有没有更好的方法(或更合适的版本控制系统)?
答案 0 :(得分:3)
我认为你可以使用git来解决这个问题。请注意,一旦文件被跟踪,git就会继续跟踪文件,即使它处于忽略规则中。因此,假设您不想经常跟踪新文件,
添加您实际想要跟踪的所有文件
git add file1 file2 dir1/file3 dir1/file4 dir1/dir2/file5 dir2
使用
提交这些文件git commit -m "msg"
向.gitignore
添加忽略规则以忽略所有其他文件
echo "*" > .gitignore
现在,如果您对任何现有文件进行更改,它们将显示在git status
,git diff
中,依此类推。您可以使用git add filename
添加它们并正常操作它们。
要在下次添加新文件,您需要使用-f
git add -f new_file1
git commit -m "msg"