Новичок в SVN, я должен сохранить локальную копию проекта? - PullRequest
3 голосов
/ 28 июня 2011

Я очень новичок в SVN, мой проект, как правило, является проектом .NET winforms, в прошлом на сетевом диске находилась общая папка, которая являлась папкой «текущей сборки».

моя команда, 3 члена, у всех нас есть локальная копия на моих собственных окнах. Проблемы выходят, возможно программист A и программист B изменяют файл в то же время и Перезаписать файлы B и т. Д.

Мой босс попросил меня создать SVN, чтобы предотвратить проблему, описанную выше.

У меня есть поиск по SOF и понимание концепции SVN, однако, Кто-то сказал, что это должно быть извлечение источника из папки / branch, после финиша вернитесь обратно в папку / branch и объединитесь с /trunk.

Это заставляет меня задаться вопросом: Предположим, что мой проект содержит 3 файла:

  • Cart.cs
  • Product.cs
  • Customer.cs

И структура хранилища SVN:

  • / trunk: Cart.cs / Product.cs / Customer.cs

-

Сегодня я хочу изменить Cart.cs, скопировать Cart.cs в / branch и создать новую папку «1.0.1» и оформить заказ на локальном компьютере и открыть на VS2010, но Cart.cs наследует продукт. .cs, поэтому он делает какую-то ошибку "отсутствует ссылка" на моем VS.

Итак, правильный путь - скопировать все файлы в /branch/1.0.1 и оформить заказ в локальный каталог или просто сохранить локальную копию и перезаписать файлы из / branch для получения правильной компиляции?

Спасибо.

Ответы [ 2 ]

7 голосов
/ 28 июня 2011

Вы, кажется, запутались в фундаментальных понятиях SVN. Я настоятельно рекомендую вам прочитать первые несколько глав этой книги, особенно главу 2 и часть, посвященную основному рабочему циклу.
Книга Красных Бобов Subversion

То, что вы должны сделать, чтобы получить максимальную отдачу от SVN, это что-то вроде этого.

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

/myProject
+ trunk
+ branches
+ tags
+ sandbox

оттуда, все ваша работа должна быть выполнена в багажнике. Каждый должен оформить проект из ствола и работать над своими локальными (рабочими) копиями индивидуально, в идеале - по одной задаче / проблеме за раз. После того, как вы исправили большую или внедрили новую функцию, вы синхронизируете свою работу с хранилищем, и в этот момент, если возникают конфликты, вы должны разрешить их. SVN не будет позволять вам проверять конфликтующие файлы. Вы должны отложить, перезаписать или объединить свою работу со стволом. Если вам нужно связаться с другим разработчиком на этом этапе, вам следует. После того как вы разрешите все свои конфликты и протестируете все с помощью своей рабочей копии, вы можете зафиксировать свой код и опубликовать свои изменения обратно в ствол, а затем обновить.

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

1 голос
/ 28 июня 2011

Если вы хотите просто начать с очень простой настройки, вы можете создать ветку в вашем SVN-репозитории с folder / branch , называемой "Магистраль".

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

Когда вы знаете, что кто-то еще внес изменения, вы делаете « Обновление » в своей локальной копии, чтобы получить эти изменения.

Наконец, когда вы делаете какой-то релиз или достигаете некоторого этапа, вы можете " Tag ", который выпускает с именем, таким как "Release 1.0.1" (где тег действительно другойветвь, которая содержит код для данного данного времени, вы не будете продолжать работать с этой веткой, но оставите ее как стабильную).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...