Подтвердить что ты не робот

Что такое рабочая копия и что делает "переключение" для меня в Tortoise SVN?

У меня есть программное приложение, и я попал в важный этап, версия 2.0.

Я решил пометить эту версию как "Версия 2.0", поэтому я назвал этот снимок. Я также создал ветку "Версия 2.0" в случае, если мне нужно что-то исправить и объединить ее обратно в мой багажник.

После прочтения файла справки Tortoise SVN он сообщает мне, что я могу переключить свою "рабочую копию" на вновь созданную ветку.

Что это значит?

В настоящее время у меня есть:

/Проект/Trunk/
/Проект/Метки/
/Проект/Отрасли/

Выбрано все. Так в чем же смысл "переключения"? В настоящее время я просто перехожу в мою папку /trunk и выполняю свою работу. И когда я сделал свой тег и ветку, он создал папки в папке/tags/и/Branches/после того, как я сделал обновление.

Почему бы мне просто не пойти в/Branches/Experiemental-v3.0/и не сделать свою работу там, если захочу?

Кто-нибудь может объяснить мне понятие "Рабочая копия" и "Переключение"? Что мне не хватает? Как правило, у людей нет всего репозитория, есть ли это?

4b9b3361

Ответ 1

Рабочая копия - это копия, которую вы проверили в своей рабочей области. Неважно, если это ветка или сундук. Это то, над чем вы работаете.

Вы можете переключаться между ветвями (или более правильно копиями) одного и того же родителя с помощью svn-переключателя. Это будет в основном сказать, что отличается между текущей рабочей копией и веткой, на которую я переключаюсь. Затем он выполняет обновление вашей текущей рабочей копии для пересмотра ветки, на которую вы переключаетесь.

Итак, рабочая копия - это ваша проверка, однако она была получена.

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

Ответ 2

Как правило, нет необходимости проверять весь репозиторий. Ветви и метки в подрывной деятельности должны быть дешевыми - то есть, они не создают копии одинаковых файлов, просто ссылаются на них. Когда вы проверили весь репозиторий, когда какие-либо ветки или теги по какой-либо причине внезапно увеличивают пространство, используемое на вашем локальном жестком диске.

Вы можете получить столько частей репозитория, сколько вам нужно. Таким образом, у вас может быть папка под названием "trunk", которая является рабочей копией только туловища, другая "версия2", которая будет рабочей копией вашего ветки. Таким образом, любые дополнительные теги, которые создаются, не проверяются.

Или вы можете иметь одну выписку под названием "проект", и если она первоначально указывает на соединительную линию, вы можете переключить ее на одну из ветвей или тегов - это способ повторного использования оригинальной проверки, чтобы вы не должны все снова и снова.

Это может быть очень полезно сделать, если вы работаете на багажнике, и вдруг осознаете, что вам нужно внести свои изменения в ветку - возможно, потому, что они слишком экспериментально. Чтобы сделать это, откройте свою рабочую копию, переключитесь на новую ветку, затем зафиксируйте, и ваши изменения перейдут к ветке, а не к внешней линии.

Ответ 3

Рабочая копия - это ваша копия кода, который вы проверили. Обычно вы проверяете только /Project/trunk/, а не всю структуру репозитория. Переключение изменяет ваш корень рабочей копии. То, как вы работаете с SVN, - это не то, как это должно быть сделано.

Ответ 4

Ваша рабочая копия - это любая папка на вашем жестком диске, которую вы использовали для проверки проекта из подбверсии. Вы можете "переключиться" на другой проект для этой рабочей копии, чтобы содержимое с версией было похоже на содержимое этого другого проекта.

Это полезно для переключения с магистрали на ветку, без необходимости проверять новую копию. Он может, например, сэкономить время сборки, поскольку неперевернутые файлы (ваши скомпилированные объекты, библиотеки, исполняемые файлы) не удаляются или не изменяются.

Dave

Ответ 5

Вы проверили все дерево проектов - это, вероятно, не то, что вы хотите. Для работы с внешней связью проверьте копию, привязанную к "соединительной линии", а не от корня проекта. Аналогично, для работы ветки проверяйте только интересующую вас ветку.