Пройдите через HEAD, чтобы получить доступ ко всем git коммитам - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь использовать приведенную ниже команду для доступа к идентификаторам коммитов для всех коммитов в моей ветке.

git rev-parse HEAD~0 -> Дает последний коммит

git rev-parse HEAD~1 -> Дает предыдущий коммит

git rev-parse HEAD~n

Мне нужно получить доступ ко всем коммитам по одному, используя метод зацикливания
Пример: git rev-parse HEAD~i

Я не могузаставить это работать.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Наконец-то удалось получить счетчик количества коммитов в ветви dev, игнорируя коммиты слитых мастеров git rev-list origin / master. --No-merges --count Вышеприведенные команды возвращают значение 2, котороекак и ожидалось, так как я сделал 2 коммита на моей ветке, а остальные были мастерами слияния.Я сохранил это количество как локальную переменную i = 2. Могу ли я узнать, как я могу использовать эту переменную в приведенной ниже команде?Приведенные ниже команды выдают ошибку при использовании как есть.В основном я хочу, чтобы команда работала со значением i = 2. Спасибо за тонну

git rev-parse HEAD ~ i

0 голосов
/ 28 февраля 2019

Простое время должно работать нормально

git log --pretty="%h" | while read revision; do
    # do whatever you need to do with this revision
    echo revision $revision
done

Если вам нужно обратное, вы можете использовать --reverse в качестве параметра для входа.

PS Попытка получить числоревизии?

revisions=$( git log --pretty="%h" | wc -l )
echo There are $revisions revisions on my branch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...