我的情况是这样的:我在为一个老游戏修改源代码。有很多文件。因为这是一个老游戏,所有没有被我修改过的文件都有一个老文件修改的时间戳。
如果我可以只把最近(由我)修改过的文件添加到版本库中(跟踪它们),那将会对我很有帮助。这样一来,我就可以很容易地看到哪些文件被修改过,并且可以更容易地自动打包它们。
我可以写一个程序,在后台跟踪所有文件的时间戳,并动态地修改gitignore文件,但是否可以用git onboard工具来做这些事情?
问好。
Neconspictor
我不知道有什么git工具可以做到这一点。显而易见的位置应该是在 gitignore
工具,但它只适用于文件模式。你必须独立生成这个文件列表。由于你的文件只是本地文件,文件列表不需要推送到git服务器上,所以 $GIT_DIR/info/exclude
听起来是放列表的正确位置。
在你的情况下,你可以用类似(例如2015-03-22 15:30)的方式生成列表。
touch -t 201503221530 timestamp_file
find . ! -newer timestamp_file > .git/info/exclude
不过,如果不是太麻烦的话,我一般会建议在git里追踪所有的东西。
git diff --name-only <sha1> <sha2>
或 git diff --name-only <sha1> HEAD
)pre-commit
钩子,以检查所有文件是否在 .git/info/exclude
老于 timestamp_file
如果不是这样,则拒绝提交)。)git diff --name-only <sha1> HEAD
了,因为它将包括在你的修改之前添加C。所以,这绝不是 "自动打包更容易",确实要难得多。