#git #review-board
Вопрос:
У меня есть 3 коммита: C1, C2, C3. У них есть 3 хэша: #C1, #C2, #C3. Я отправил C1 и C3. C2 я получил, когда сделал «git pull». Я хочу опубликовать коммиты C1 и C3. Насколько я могу судить, я не могу сделать это в Контрольной комиссии, но, надеюсь, я ошибаюсь.
Обычно для публикации нескольких коммитов вы должны публиковать все промежуточные. Например:
rbt post #C1..#C3
Я хочу публиковать только #C1 и #C3. Или то, что также может сработать, — это опубликовать C1, а затем позже обновить его с помощью C3.
Ответ №1:
АФАИК.. Доска отзывов не просто отображает/выделяет «загруженные различия». Ему требуется локальное (серверное) репо, и изменения отображаются в виде различий с этим репо. Таким образом, он должен иметь в своем локальном репо базовую фиксацию, против которой вы выступаете. Вы можете разместить C1..C3, потому что у внутреннего репо есть родительский C0 C1. Но вы не можете публиковать C2 или C3 самостоятельно, потому что в базе данных RB нет их родителя.
Комментарии:
1. Есть ли способ обойти это? Например, сбросить/спрятать/каким-то образом создать новую ветку?
Ответ №2:
В итоге я нашел очень крутое решение.
Я заявил, что получил C2 от «git pull». Оказывается, мы можем сделать сообщение на основе ветки, из которой я вытащил. В этом случае тяга была от «источника/мастера».
Я сделал:
rbt post -r #postnum --tracking-branch origin/master
Причина, по которой это работает, заключается в том, что ветвь «источник/мастер» знает C2, но не C1 или C3, поэтому разница, создаваемая на обзорной доске, основана только на C1 и C3. Существует проблема путаницы в описании, но это можно отредактировать, и это не так важно, как то, что разница выглядит правильной.