перечислить количество файлов, измененных за последний пуш / количество локальных коммитов за один пуш - PullRequest
0 голосов
/ 19 сентября 2019

мне нужно, чтобы количество локальных коммитов пошло за одну операцию нажатия.Для каждого локального коммита в операции push будут соответствующие коммиты в remote. Так, одно нажатие создаст много коммитов в remote.Мне нужно получить количество локальных коммитов за один раз.В противном случае мне нужно получить предыдущий push id.so, если мой push имеет 3 локальных коммитов, операция push создаст 3 коммита в удаленном режиме.Итак, мой предыдущий идентификатор push будет HEAD ^ 3.

Но мне нужно получить это число. Так как узнать, сколько коммитов за одну операцию push? Есть ли способ группировки на основе операции push?

1 Ответ

0 голосов
/ 19 сентября 2019

Предположим, у вас следующая ситуация:

origin/branch    A---B
                      \
(local) branch         C---D

Тогда вы git push:

origin/branch & (local) branch    A---B---C---D

После push предыдущий коммит будет refs/remotes/origin/branch@{1}.Таким образом, вы можете "отменить" толчок с помощью:

git push -f origin refs/remotes/origin/branch@{1}:branch

В качестве альтернативы, если вы хотите, чтобы количество зафиксированных изменений фактически изменилось:

git rev-list --count refs/remotes/origin/branch@{1}..refs/remotes/origin/branch

ПРИМЕЧАНИЯ:

  1. Это работает из репозитория, который сделал push.Я не знаю, будет ли команда работать правильно из другого репо - хотя я ожидаю, что это будет после обновления ссылки с git fetch
  2. Я понятия не имею, как это будет обрабатывать принудительный толчок или любую другую операциюэто forcible устанавливает ref для определенного идентификатора коммита.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...