Окружающая среда:
- Atlassian Stash v3.11.2 (https://hub.docker.com/r/atlassian/stash/ а>)
- Git-клиент (1.9.1)
- И новичок в git (я)
При отправке изменений в файл test.txt в ветке b1 я вижу приглашение создать запрос на включение, что я и сделал (id 1). Затем на другой ВМ:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_01
git checkout my_pr_branch_01
Файл test.txt показывает мои изменения, и это нормально.
На более ранней виртуальной машине в файл test.txt были внесены дополнительные изменения (и перенесены в origin b1
). Pull request теперь имеет 2 коммита. Вот тут и возникает путаница:
Когда я запускаю это на VM2:
git checkout master
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_01
git checkout my_pr_branch_01
Ожидается увидеть изменения и со 2-го коммита. Не нашел их.
Затем побежал:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_02
git checkout my_pr_branch_02
Изменения со 2-го коммита по-прежнему не отображались в test.txt.
Затем нажмите на пользовательский интерфейс тайника и посмотрите на вкладку diff запроса на включение. Изменения со 2-го коммита действительно появились. Затем на ВМ2:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_03
git checkout my_pr_branch_03
И теперь я видел test.txt с изменениями из 2-го коммита.
Итак, вот вопросы:
- Когда он обнаруживает новые коммиты (помимо посещения URL-адреса запроса на извлечение)?
- Как сделать так, чтобы git знал о новых коммитах по запросу на вытягивание?
- Как заставить его (наверняка) игнорировать новые коммиты по запросу на вытягивание?
Мое конечное намерение — использовать плагин конструктора Stash Pull Request на Jenkins для ряда заданий (запущенных через процесс сборки). Для этого я пытаюсь найти надежный способ заставить все задания использовать один и тот же код.