SVN Рабочая копия в разные ветви слияния без коммита для рабочей копии ветви

StackOverflow https://stackoverflow.com/questions/2905461

  •  04-10-2019
  •  | 
  •  

Вопрос

Если рабочая копия (локальная копия) была создана из филиала, давайте назовем его A. Кодирование было сделано в ветке A, но отделение A было «закрыто» для коммитов, а ветвь B была открыта. Как объединить мою рабочую копию изменений в филиал B и совершить филиал B, не совершая мои изменения в филиал первым.

Багажник -> Филиал А.

   I checked out branch A and made changes.
   Branch A was closed to commits.

Новая ветвь, созданная из филиала А. Филиал A -> Филиал B.

   I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A)
Это было полезно?

Решение

  1. Создайте резервную копию вашей рабочей копии.
  2. svn switch в филиал B
  3. Обзор изменения (базовый пересмотр может отличаться, а SVN слепы, глупые текстовые сливы), разрешают конфликты, если какие-либо
  4. совершить

Делать такие вещи с рабочей копией с незащищенными изменениями, опасно. Если что-то пойдет не так, или если есть слишком много конфликтующих изменений, отката к вашу резервную версию, создайте временную ветку от базовой ревизии вашей рабочей копии A, Перейдите к этому и зафиксируйте ваши изменения, чтобы они были где-то в безопасности. Затем слить эту ветвь в B Какой бы так как вы хотите и удалите его потом.

Помните SVN Mantra: Совершать рано, совершать часто. Отказ Если у меня будут незаменимые изменения, лежащие в течение более одного рабочего дня, я нервничаю. Обычно я создаю функциональную ветку для любого развития длительного времени, чем на несколько часов. и регулярно обязываться на это. Когда я закончу, я объединяю его туда, где он пришел и удалите его потом.

Другие советы

Быть очень осторожным, я бы совершил мои изменения в частной ветви (давайте назовем это C), затем слить C ветвь к новым отключенным филиалам B.

  1. cd на рабочий каталог с изменениями, которые вы хотите совершить
  2. svn copy . C
  3. cd .. к вашей папке рабочей области с кассами
  4. svn co B
  5. cd в каталог B.
  6. svn merge Редакция от шага 2.
  7. Просмотр изменений.
  8. Совершить!
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top