Я веб-разработчик и пользователь Subversion/TortoiseSVN, который хочет перейти на Git, так как мы начинаем нуждаться в ветвлении и из того, что я прочитал, Git быстрее и лучше управляет ветвлением.Каков самый быстрый способ управления Git по сети?
Наша SVN Установка
установка Наша СВН базируется на центральном сервере Linux доступ через Samba акций. У него установлены Apache, MySQL, PHP и т. Д., Что позволяет нам тестировать локально в среде, подобной нашему онлайн-серверу. Мы создали ресурс, в котором размещены хранилища SVN и среды разработки (проверки репозитория). Это позволяет нам развиваться в реальном времени, тестировать и просматривать среды разработки друг друга по локальной сети до совершения. Таким образом, все проверки/обновления/фиксации/разработки осуществляются через общий доступ Samba по сети. Никакая разработка не выполняется на любой другой коробке. Мы заметили, что TortoiseSVN/SVN начал бояться в последнее время и обнаружил ветвление довольно медленно. Итак, мы хотим переехать в Гит.
Настройка Git
В попытке настроить аналогичную среду для нашей установки SVN, я установил Git на сервере Linux, установленный TortoiseGit на моих окнах 7 машин. Затем я продолжил следовать instructions of cloning an SVN repository to Git. Это прошло хорошо, и мой журнал не пострадал.
Настройка Git среды разработки
Затем я создал среду разработки и сделал «Git клон» от TortoiseGit который взял несколько минут (как я ожидал). Правильно ли я полагаю, что это то же самое, что и svn checkout
от TortoiseSvn? Затем я внес некоторые изменения в файлы и выбрал «Git Comment -> master ...». Правильно ли я полагаю, что это то же самое, что и svn commit
? Это место заняло довольно много времени.
Где Git Замедляет вниз
Во-первых, она приняла возраст для того, чтобы отобразить файлы, которые были изменены (около 45 секунд), несмотря на меня только изменение 2 файлов. Обычно это происходит в течение 2-3 секунд на TortoiseSVN. Затем я перешел к фиксации, в котором заняло около 30 секунд, когда на TortoiseSVN, вероятно, было меньше 5 секунд.
Некоторые могут спросить, почему я двигаюсь, поскольку времена, указанные выше для SVN, неплохие. Имейте в виду, это простой пример. Обычное использование сделает SVN намного дольше.
В поисках решения
я нашел другого человека на переполнение стека с очень похожим вопросом, но не было никакого фактического разрешения. Выполнение вещей через ssh/commandline не является вариантом, так как некоторые из разработчиков не очень хорошо разбираются в подобных вещах и ничего не знают о Linux.
Итак, есть ли что-то, что я могу сделать, чтобы сделать эту работу быстрее по сети? Или, может быть, лучшей альтернативой TortoiseSVN для управления совершением, ветвлением и т. Д.? Мы стараемся, чтобы меры, которые мы должны свести к минимуму, чтобы ускорить процесс.
Рассмотрите возможность использования git в качестве интерфейса для svn какое-то время? http://schacon.github.com/git/git-svn.html –
NB: 'git commit' не является эквивалентом' svn commit'. 'git commit' фиксирует изменения в вашем локальном репозитории, но не отправляет их на удаленный сервер. 'git push' - это команда, которая отправляет ваши изменения в удаленный репозиторий. – larsks
Первый «git status» на новой рабочей копии для большого репо может быть довольно длинным, но следующие должны быть намного быстрее из-за некоторого кэширования диска. – CharlesB