2014-10-06 3 views
1

У меня есть основное репо, которое называется mainrepo, и внешний номер auxrepo. заведенного порядка, я делаю мерзавец поддерево притяжению auxrepo в каталог в mainrepo, например, так:re-do git subtree pull после возврата

Сначала я создал новый филиал в mainrepo под названием aux-update, а затем:

git remote add auxrepo [email protected]:example/auxrepo.git 
git subtree add --squash --prefix=lib/auxrepo auxrepo auxrepo-branch 
git subtree pull --squash --prefix=lib/auxrepo auxrepo auxrepo-branch 
git commit 

, а затем я сольюсь в aux-update ветвь в mainrepo.

Однако вчера я сделал потянув плохой код от auxrepo, и ему пришлось нажать на возврат изменений mainrepo. Я сделал это через git revert -m 1 $SHA, где $SHA был шай из слияния филиала aux-update.

Теперь сегодня auxrepo был исправлен с новыми коммитами, и я хочу снова потянуть все с помощью поддерева.

Проблема в том, что когда я просто делаю свой обычный git subtree pull --squash --prefix=lib/auxrepo auxrepo auxrepo-branch, он получает новые коммиты с сегодняшнего дня, а не старые коммиты, которые были возвращены.

Как я могу поддерево вытащить все фиксации от auxrepo, включая вчерашние коммиты и новые коммиты с сегодняшнего дня?

ответ

1

Попробуйте

git revert $REVERTED_SHA 
git subtree pull -squash --prefix=lib/auxrepo auxrepo auxrepo-branch 

Где $ REVERTED_SHA является Ша фиксации вы создали, когда вы сделали git revert -m 1 $SHA

Смежные вопросы