Я бы предпочел использовать 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"
)