Найти измененные файлы Java между двумя ветвями после даты в git - PullRequest
1 голос
/ 01 мая 2019

Я пытаюсь найти все измененные файлы Java между двумя ветвями после 1 апреля. Я мог найти все измененные файлы Java с помощью следующей команды. Есть ли способ применить фильтр даты? Спасибо

git --no-pager diff --name-only feature_branch..master | grep .java

Раствор

Спасибо @romainvaleri. Я использовал следующую команду для определения измененных файлов Java.

git log --since="1st April" --name-only --pretty=format:"" feature_barnch..master -- *.java | sort -u | sed 's/.*\///' 

1 Ответ

1 голос
/ 02 мая 2019

Я бы предпочел использовать git log здесь для его удобных опций :

git log --since="1st April" --name-only --pretty=format:"" feature_branch..master -- *.java

Где:

--since=<date> позволяет установить фильтр даты¹
--name-only показывает только измененные имена файлов вместо изменений
--pretty=format:"" подавляет весь вывод (а именно, информацию о коммите), кроме различий
feature_branch..master устанавливает диапазон коммитов для покрытия
и наконец
-- *.java фильтры по именам файлов

Тогда, если в контексте bash, вы, вероятно, захотите вылечить список с помощью | sort и | uniq

git log --since="1st April" --name-only --pretty=format:"" feature_branch..master -- *.java | sort | uniq

¹ (, который мог бы быть относительным, скажем, --since="one month ago")

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