Почему в поддереве git отсутствуют коммиты?

#git #deployment #version-control #yeoman #git-subtree

#git #развертывание #контроль версий #йомен #git-subtree

Вопрос:

Я только что запустил git subtree split свою главную ветку, но в поддереве ( dist ветке) отсутствуют последние два коммита, которые находятся в master ветке. Я не уверен, что здесь делать. Я раньше с этим не сталкивался. Это всегда работало без проблем.

Вот как выглядит мой сетевой график github (исключая dist ):

сетевой график github

Из главной ветки, которую я запустил git subtree split -P dist -b dist .

Если я запускаю git log из dist ветки, это показывает, что самая последняя фиксация 6d1620a . Где 17c1f31 и 33dfc67 ?

Кто-нибудь знает, что здесь происходит?


Более подробная информация, относящаяся к моему сценарию

Я использую метод развертывания, используемый проектами, созданными Yeoman. В основном это означает, что у меня есть общая папка проекта, в которой есть dev (или app ) каталог, в котором выполняется вся разработка, и dist каталог, в который создается проект (с помощью процесса сборки gulp). Поэтому для развертывания я просто разделяю dist каталог на его собственную ветку и отправляю ее на текущий сервер.

Что выглядит примерно так:

 gulp
git checkout master
git merge --no-ff dev
git subtree split -P dist -b dist
git push
  

Альтернативно git subtree push -P dist origin dist также работает.

Ответ №1:

Я забыл запустить процесс сборки gulp. Из-за этого новая фиксация не повлияла на /dist каталог.

Имеет смысл, что коммит не будет передан в каталог, на который он не повлиял. Но незнание этого поведения заранее действительно запутало ситуацию для меня.