Как составить список «Изменения, не подготовленные для фиксации», упорядоченные по дате изменения? - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть репозиторий с веб-приложением.Он был обновлен несколько месяцев назад, что привело к удалению / изменению нескольких тысяч файлов.Кроме того, некоторые незначительные изменения были сделаны с тех пор.Я пока не могу сказать, сколько событий повлияло на количество файлов, но, может быть, только 1-2 затрагивают несколько файлов каждый.Но ничего не ставилось и не фиксировалось.

Теперь я хочу определить группы файлов для добавления в разные коммиты.Я думаю, что я могу посмотреть на даты модификации для этого.Я думаю, что могу предположить, что все удаления были в большом обновлении, поэтому я могу поместить все эти в один коммит.С измененными файлами мне нужно идентифицировать группы файлов с одинаковой (или похожей) датой.

git ls-files sort по времени изменения дал подсказку, которая заставила меня сделатьgit ls-files -mz | xargs -0 ls -alt >> out.txt давая мне примерно упорядоченный список.Я думаю, он прыгает через даты, так как xargs работает партиями.(Я записал вывод в файл, так как я не смог получить пейджер (| подробнее))

Итак, как только я получу более чистый список или очисту список вручную, я сделаю что-то вроде xargs -a file -d '\n' git add,Похоже, разумно?Или есть более прямой способ сделать git add с файлами определенного диапазона дат?

1 Ответ

0 голосов
/ 27 декабря 2018

Добавление файла, который не был изменен, ничего не делает, так что вы можете просто использовать find, чтобы получить файлы, измененные в диапазоне дат, и направить их к git add

Например, чтобы добавить измененные файлыв последний день (исключая каталог .git).

find . -mtime -1 -not -path "./.git" -not -path "./.git/*" | xargs -l1 git add

Неизмененные файлы ничего не сделают, проигнорированные файлы выдадут предупреждение, но в противном случае ничего не сделают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...