Я боролся с кривой обучения git/git-svn и прошлой ночью, как часть этой кривой обучения, я сделал что-то очень, очень плохое. С тех пор я получил исправление, но я надеюсь понять ошибку в моих путях.
У меня есть репозиторий svn, из которого я клонировал багажник и ветки (теги, которые я игнорировал, поскольку мы не работаем над ними). Используя git, я создал локальные ветки для каждой из ветвей, с которыми мне сейчас нужно работать:
$ git checkout -b trunk svn/trunk
$ git checkout -b feature1 svn/branches/development/feature1
$ git checkout -b maint svn/branches/maintenance/previous-version
Я сделал feature1 моей активной ветвью и сделал несколько изменений, прежде чем убираться на несколько дней. Я вернулась к нему вчера, чтобы интегрировать любые изменения, которые были сделаны в багажник, чтобы я работал с последним и самым большим. То, что я сделал, было полным обновлением всех достижений сначала, через git svn rebase (никто больше не работал над ветвью feature1). Со всем обновлением моего репозитория svn я попытался перезагрузить.
С feature1 в качестве моей активной ветки я сделал "git rebase trunk", думая, что я буду вытаскивать изменения из сундука в ветвь feature1. Оказывается, я был очень, очень неправ. После слияния всех конфликтов я сделал git svn dcommit и обнаружил, что мои изменения были применены к соединительной линии.
Мой первый вопрос - просто где была основная ошибка в моем мыслительном процессе? Во-вторых, после многого чтения и поиска в Google, я вижу, что люди поддерживают тяги, слияния и переделки. Учитывая тот факт, что я хочу объединить изменения, применяемые в одном локальном филиале, к другому локальному ветки, что я должен был сделать? Какая наилучшая практика для этого сценария?
Спасибо за вашу помощь.