Php get Commit список специфических Git Branch

1

Я хочу получить фиксации определенной ветки. следующий мой код

exec("git log $branch", $logs);

$ branch может быть хозяином или любой другой ветвью. Но это дает все фиксации.

  • 0
    Возможно, дубликат stackoverflow.com/questions/14848274/…
  • 0
    я не получил удовлетворительного ответа
Теги:

1 ответ

1
Лучший ответ

Но это дает все фиксации.

Конечно: он дает все коммиты достижимые из master главы, которые все совершают, даже если они являются частью другой ветки. До самого первого (обычно делается на главной ветке)

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

x--x--x--X           (master)
          \
           --o--o--O (anotherBranch)

git log anotherBranch = O-o-o-X-x-x-x

Вот почему вам нужны два параметра: один, который запустит извлечение фиксации, которое остановит его:

git checkout mybranch
git log --all --not $(git rev-list --no-walk \
    --exclude=refs/heads/mybranch \
    --exclude=HEAD \
    --all)

Поместите это в свою команду Php, и вы получите только те коммиты, которые вам нужны.

  • 0
    Можете ли вы объяснить вышеупомянутую команду. потому что ничего не получил
  • 0
    @HardeepSingh Заменили ли вы "mybranch" на название вашей ветви? Для объяснения прочитайте stackoverflow.com/a/25801208/6309
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню