2015-06-17 4 views
3

В настоящее время я работаю над проектом через вилку основного репо. Я делаю свои изменения до <fork>/master, а затем отправляю запросы на получение до <upstream>/master.Преимущества/недостатки ветвей и forks

У меня есть разрешение на чтение для <upstream>. Правильно ли я думаю, что я мог бы сделать это проще, удалив свою вилку и просто создав ветви для моей работы (<upstream>/dev_branch1) и отправив запросы на тягу для этих ветвей? Каковы преимущества/недостатки использования вилки вместо ветвления для репо, к которому у меня есть доступ на запись?

ответ

3

На самом деле нет большой разницы; ветвь в другом хранилище (вилка) почти такая же, как отдельная ветвь в восходящем репозитории. Просто они немного отделены друг от друга.

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

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

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

+0

Я (сейчас) единственный вкладчик в репо. Я определенно собираюсь создать ветвь основного репо. Идея снять эти расходы на обслуживание звучит восхитительно. –

0

Если у вас есть доступ на запись, вам не нужно беспокоиться о запросах на тяну. Настройте восходящее репо как remote для вашего местного репо, затем git push ваши изменения вверх по течению, когда вы хотите их опубликовать.

+0

В зависимости от размера команды использование запросов на тягу может стать идеальным механизмом для улучшения обзора кода. Просто, хотя. –

+0

Так же, как @DavidTansey сказал, наша команда использует запросы на получение кода для проверки кода. –

+0

Я согласен с остальными - не только люди могут комментировать изменения и учиться/учиться, чтобы стать лучшими разработчиками (даже наблюдая за другими ОР), вы также можете запускать сборки, проверки сонара и т. Д. На вашем PR, чтобы минимизировать эффект что что-то может сломаться после слияния. –

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