Git - лучшие практики (в целом и с точки зрения бывшего пользователя SVN.) - PullRequest
8 голосов
/ 21 января 2009

Недавно я изучил основы концепции Git. Мы использовали немного git-svn, чтобы ознакомиться с ним. Я хотел бы начать свой первый «настоящий» проект на git вместе со своими друзьями.

Поэтому я хотел бы спросить вас, каковы лучшие практики использования Git в целом, и есть ли какие-либо подводные камни, в которые может войти знакомый разработчик SVN?

Ответы [ 3 ]

3 голосов
/ 21 января 2009

Сотрудничество между несколькими разработчиками, вероятно, лучше всего проводить с использованием центрального «голого» репозитория, который примерно аналогичен репозиторию в Subversion. Обмен изменениями между двумя или более людьми, имеющими только свои собственные репозитории, является трудным и подвержен ошибкам. Кроме того, использование центрального хранилища будет удобнее, если вы работаете на фоне Subversion.

Одна замечательная особенность Git в том, что вы можете легко иметь более одного "общего" хранилища. У меня настроена моя разработка, поэтому я держу набор пустых репозиториев на одном сервере, с которым я обычно взаимодействую («источник» для большинства моих проектов), но для некоторых проектов я также помещаю все это в GitHub. Мне не нужно выбирать, какой из них является единым центральным репозиторием, я могу вытащить и работать из репозитория GitHub, а затем перенести в свою собственную копию.

2 голосов
/ 22 января 2009

Есть подводные камни, чтобы думать, что Git - SVN с плохим акцентом. Этот недавний вопрос демонстрирует две ловушки в Git, которые могут иметь смысл в SVN:

  1. Считая, что rebase в Git следует заменить на merge. Слияние с чужими изменениями иногда приводит к множеству ненужных конфликтов слияния, которых rebase избегает.
  2. Перенос ветки объектов в удаленный репозиторий и последующее слияние там приводит к еще худшим результатам.

Другая серьезная ошибка хорошо выражена в Git FAQs в разделе «Неожиданное поведение»:

    A quick rule of thumb is to *never* push into a repository 
    that has a work tree attached to it, until you know what you are doing.

Где-то на страницах руководства говорится, что это может «привести к неожиданным результатам». Как потерять всю чужую работу.

Этот Ускоренный курс по Git SVN облегчит ваш переход к Git, пока он еще думает в SVN.

1 голос
/ 22 января 2009

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

...