2015-08-17 7 views
0

Давайте предположим, что хранилище А имеет некоторую историюMercurial или Bitbucket - толчок набор коммитов в отдельную вилку

commit4 
    ^
commit3 
    ^
commit2 
    ^
commit1 
    ^
commit0 

Если я теперь хотел «раскол» хранилище А в commit2, то есть я хочу хранилище B в быть вилка A, где

история:

commit2 
    ^
commit1 
    ^
commit0 

История B:

commit4 
    ^
commit3 
    ^
commit2 
    ^
commit1 
    ^
commit0 

Как мне лучше всего это сделать, используя либо битбакет, либо Mercurial Workbench?

ответ

1

Использование TortoiseHg Workbench вы можете сделать следующее:

  1. Щелкните правой кнопкой мыши на А в Repository реестра в Workbench и нажмите Clone.
  2. Укажите пункт назначения B и нажмите Клон.
  3. Двойной щелчок на A в регистре репозитория для просмотра его коммитов.
  4. правой кнопкой мыши на commit3 выберите Изменить История затем выберите Газа. Это удалит все фиксации после commit3 и включая commit3.
  5. Теперь у вас есть хранилища A и B с желаемой структурой.

Использование Bitbucket вы могли бы сделать следующее:

  1. Перейти к Обзор странице для A и нажмите Вилка в меню слева, чтобы создать вилку A под названием B.
    А и B теперь будут иметь одинаковый полный набор коммитов, таких как A.
  2. Снова вернитесь к Обзор для A и нажмите Настройки внизу меню слева.
  3. В Настройки menu нажмите на Strip Changesets.
  4. Введите commit3 в поле и нажмите Предварительный просмотр Strip.
  5. Это покажет вам коммиты, которые будут удалены, дважды проверьте, что он показывает ожидаемые коммиты, в данном случае commit3 и commit4.
  6. Нажмите Подтвердите прокладку, чтобы удалить коммиты.

Проблема следить за с этими стратегиями являются:

  1. Убедитесь, что вы имеете полное резервное копирование А где-то, потому что действие полосы разрушительно.
  2. Если есть существующие клоны A, и один из них попадает в A на BitBucket, тогда разделенные изменения будут снова введены. Вы должны убедиться, что все клоны также имеют полосу, выполненную на них, или что сделаны новые клоны.
  3. Если вы нажмете от B до A, тогда отстраненные изменения могут быть отброшены, так как они оба из одного корня.

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

  • Нет связанных вопросов^_^