Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.171] |
|
Сообщ.
#1
,
|
|
|
Hi.
Хочу изучить и начать применять систему контроля версии. Даже не знаю с чего начать. Область применения: Проекты Delphi,Builder С++, QtSdk. Также офисные фалы и AutoCad. Сервер Windows в локальной сети. 1) Подскажите какую систему выбрать для быстрого освоения. 2) С какой системой будет проще работать обыкновенный пользователь(не программист). 3) Как организовать репозиторий в локальной сети на Windows. 4) Какие программы использовать. 5) Где посмотреть, почитать, видео, стать об этом. Добавлено Еще вопрос. Какие функции выполняет сервер? Это просто хранилище фалов или там стоит программа которая активно принимает участие в распределении, принятию и слиянию? Есть ли там интерфейс через который можно отслеживать какой из кленов над чем трудится и в каком оно состояние? |
Сообщ.
#2
,
|
|
|
Попробуй начать с svn, настроив репозиторий в локалке или на localhost
и потыкайся с ним, а потом попробуй создать проект через github, прочитав учебник по git, их много: Pro Git, например: http://git-scm.com/book/ru Svn очень просто в настройке, официальная книжка вполне пригодна для обучения: http://svnbook.red-bean.com/nightly/ru/svn-book.html Ставишь, например, этот сервер - CollabNet Edge http://www.collab.net/downloads/subversion У тебя появляется и клиент и сервер - по умолчанию в C:\csvn\bin. В этом продукте встроен http-сервер под винду, который поможет создавать репозитории и настраивать svn-сервер через браузер нажатием кнопочек. Но я бы этого не стал делать в процессе обучения. Лучше создавать все через командную строку: svnadmin create <имя репа>. Само собой, лучше научиться управлять содержимым репозитория из командной строки утилитой svn: svn checkout http://url/, и т.д. В дальнейшем можно поставить плагин к Visual Studio, их много разных, есть вполне удовлетворительные - AnkhSVN или VisualSVN. Продукты обкатанные, проблем не возникает, сам работал на одном из них. В студии всё будет так же, как в консоли, только удобнее: загрузка изменений, просмотр истории, создание ветки (branch) и т.д. Но уметь это делать из command line - по-любому надо. Цитата Какие функции выполняет сервер? Это просто хранилище фалов или там стоит программа которая активно принимает участие в распределении, принятию и слиянию? Сервер выполняет все эти функции. Он ещё и правами управляет и данные сжимает и много чего ещё. Цитата Есть ли там интерфейс через который можно отслеживать какой из кленов над чем трудится и в каком оно состояние? У SVN есть два варианта работы над одним файлом с двух компьютеров. Файл можно заблокировать (lock) и работать, а можно работать без блокировки и потом в случае одновременного редактирования - решать конфликты. Заблокированные на данный момент файлы видно. Видно и того, кто их заблокировал - имя пользователя. Если блокировки не используется, то сказать кто над чем работает не представляется возможным. |
Сообщ.
#3
,
|
|
|
Цитата reinterpret_alexey @ Но уметь это делать из command line - по-любому надо. Зачем? Будет необходимость - можно будет и изучить. А с концепциями лучше в удобном гуе познакомиться. Я, например, предпочитаю TortoiseSVN и TortoiseHG. |
Сообщ.
#4
,
Сообщение отклонено: Flex Ferrum -
|
Сообщ.
#5
,
|
|
|
http://githowto.com/ru - пошагово расписана работа с GIT. Все просто и прозрачно.
SVN считают уже устаревшей системой, но я пока не нашел почему. |
Сообщ.
#6
,
|
|
|
Цитата reinterpret_alexey @ Git тоже прекрасно умеет работать с локальными хранилищами. И настройки тоже почти не требует.Попробуй начать с svn, настроив репозиторий в локалке или на localhost и потыкайся с ним, а потом попробуй создать проект через github Цитата SeniorAndy @ Да хотя бы из-за блокировок. Когда один разработчик блокирует файл, из-за того, что ему что-то в нём поменять надо, все остальные, кому тоже в нём что-то поменять надо, терпеливо ждут, когда он свою часть работы закончит. Или надо отдельную ветку делать, а потом делать много телодвижений чтобы эту ветку влить обратно в общий поток. SVN считают уже устаревшей системой, но я пока не нашел почему. |
Сообщ.
#7
,
|
|
|
В случае использоания subversion не рекомендую экономить на Apache в пользу экономного протокола svn://, так как этот протокол глючный. Раньше про это даже в мануале писали, что типа это не баг, а фича.
При этом сервер сам по себе несет слабый функционал, гораздо важнее клиент. В свежем клиенте операции merge и прочии делаются клиентом, а на сервер сливается уже результат. По крайней мере, так было в эпоху сервера 1.5.x с клиентами 1.7.x, то есть, сервер может быть старее, и это не будет иметь никакого значения (upgrade необязателен). В этом смысле всегда лучше VCS или DVCS, которая, если и развивается, то не очень бурно, чтоб потом не заморачиваться к апгрейдом сервера. Subversion в этом плане выглядит вполне симпатично. Если не использовать svn:// |
Сообщ.
#8
,
|
|
|
Цитата amk @ Когда один разработчик блокирует файл, из-за того, что ему что-то в нём поменять надо А как эту блокировку файла делать? |
Сообщ.
#9
,
|
|
|
Цитата amk @ Да хотя бы из-за блокировок. Когда один разработчик блокирует файл, из-за того, что ему что-то в нём поменять надо, все остальные, кому тоже в нём что-то поменять надо, терпеливо ждут это ты с csv не перепутал? |
Сообщ.
#10
,
|
|
|
В CSV тоже можно не блокировать. А по поводу SVN
Цитата reinterpret_alexey @ У SVN есть два варианта работы над одним файлом с двух компьютеров. Файл можно заблокировать (lock) и работать, а можно работать без блокировки и потом в случае одновременного редактирования - решать конфликты. Я SVN уже несколько лет не пользуюсь, даже клиент снёс. И не помню, как там с блокировками. Мне лично в SVN не понравилось, что я не могу без плясок с бубном сохранить в репозитории промежуточное, возможно не вполне работоспособное, состояние работ, без риска, что этот неработоспособный вариант кто-нибудь в работу не возьмёт. |
Сообщ.
#11
,
|
|
|
Никаких SVN, сразу git/mercury.
|