我有一个带有Web应用程序的存储库。 它在几个月前进行了更新,从而导致数千个已删除/修改的文件。 此后,也做了一些小的更改。 我还无法确定有多少事件影响了多少个文件,但也许只有1-2个事件影响了几个文件。 但是什么也没有上演/承诺。
现在,我想确定要放入不同提交的文件组。 我想我可以看看修改日期。 我想我可以假定所有删除都在大更新中,因此我可以将所有删除都放入一个提交中。 对于修改后的文件,我需要确定具有相同(或相似)日期的文件组。
git ls-files sort by modification time
给了我一个提示,使我做了git ls-files -mz | xargs -0 ls -alt >> out.txt
给我一个大致排序的清单。我猜xargs可以批量工作时,它会跳过日期。
(我将输出写入文件,因为我无法获得寻呼机(|更多))
因此,一旦我得到了更清洁的列表,或者手动清除了列表,我将执行类似xargs -a file -d '\n' git add
的操作。听起来合理吗?
还是有更直接的方法对特定日期范围的文件进行git add
?
答案 0 :(得分:1)
添加未更改的文件无济于事,因此您可以使用find
来抓取在日期范围内修改的文件并将其通过管道传输到git add
例如,要添加在前一天修改过的文件(.git目录除外)。
find . -mtime -1 -not -path "./.git" -not -path "./.git/*" | xargs -l1 git add
未更改的文件将不执行任何操作,被忽略的文件将发出警告,否则将不执行任何操作。