2013-10-02 4 views
3

Я не работал с SVN годами. Теперь я должен. С SVN вы получаете «локальную» копию, против которой вы работаете, а затем, когда у вас все в порядке, вы нажимаете их на остальную часть команды? Или это все, что у вас есть? Это означает, что вы работаете над чем-то и рискуете потерять его до тех пор, пока он не будет правильным и готовым к совершению?Поддерживает ли SVN фиксацию и нажатие?

Ненавижу SVN, и я помню, как всегда ненавидел SVN.

Я должен использовать SVN, есть ли способ сделать это лучше? Могу ли я использовать Mercurial или GIT одновременно с одним и тем же репо?

ответ

3

Могу ли я использовать GIT в то же время на одном и том же репо?

Да, вы можете. Git предоставляет возможность взаимодействия с репозиториями SVN - см. git svn команд.

Короче:

git svn clone <url> клоны Репозиторной подрывной

git svn fetch выбирает последнее изменение

git svn dcommit толкает изменения в хранилище Subversion.

В книге git есть глава по теме: http://git-scm.com/book/ch8-1.html#Getting-Started

0

фиксация - это все, что у вас есть. Это неплохо, я никогда не видел точки локальных коммитов - они просто удобны для вас, если вы хотите вернуть какую-то работу, которую вы продвигаете. Мой рабочий процесс имеет тенденцию быть: написать небольшой фрагмент кода, убедиться, что он работает, зафиксировать его и перейти к другой части. Все это на ветке, так что это не повлияет ни на кого другого, кроме моих товарищей по команде (кто захочет мои изменения в любом случае, если они будут работать).

Выполнение центрального репо имеет то преимущество, что ваша работа в безопасности. Не стоит беспокоиться о том, что ваш ноутбук украден после того, как вы закодировали все, что работает на этом самолете :)

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

1

Мой ответ, вероятно, похож на gbjbaanb, но я подчеркиваю ветви.

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

Если вы хотите выполнить задачу в нескольких коммитах и ​​не хотите публиковать промежуточное/неустойчивое состояние, создайте ветвь, сделайте эти коммиты там, а затем слейте ее в магистраль. Создание филиалов дешево и слияние в SVN не так сложно, как обычно говорят люди;)

Смежные вопросы