Когда вы клонируете репо, он автоматически устанавливает удаленный вызов, origin
который ссылается на репо, которое вы клонировали. Теперь это указывает на вышестоящий проект Rails, но вам нужно создать свой собственный форк, на который вы можете нажимать, а затем настроить пульт, который указывает на него, чтобы вы могли нажимать на него.
Первый шаг - нажать кнопку «Форк» на странице вышестоящего проекта GitHub (рисунок из инструкций GitHub по разветвлению ):
Как только вы это сделаете, найдите и скопируйте URL-адрес этого репо. Убедитесь, что вы используете URL-адрес SSH, у которого есть доступ для чтения и записи. Это должно быть что-то вроде git@github.com:nadal/rails.git
, если ваше имя пользователя nadal
.
Теперь вы можете создать пульт, который позволяет Git отслеживать удаленный репозиторий, извлекая из него или отправляя в него, в зависимости от вашего доступа. Вы можете либо заменить origin
на тот, на который вы будете нажимать (сколько людей настроили его), либо оставить origin
указание на восходящий поток и вместо этого создать новый пульт. Я покажу, как сделать первую настройку; со вторым должно быть легко понять.
Чтобы origin
указать на свою вилку на GitHub, вы, вероятно, захотите оставить где-нибудь ветку восходящего потока, поэтому переименуйте ее в upstream
:
git remote rename origin upstream
Теперь создайте новый пульт, указывающий на вашу вилку:
git remote add -f origin git@github.com:nadal/rails.git
И теперь вы сможете нажать на новую вилку:
git push origin master
Если вы довольны изменениями, внесенными в GitHub, и хотите, чтобы кто-то из команды Rails их рассмотрел, у вас есть два варианта. Один из них - отправить запрос на перенос с помощью GitHub; см. там документацию, как это сделать. Однако, если у вас есть только один или несколько небольших патчей, команда Rails предпочтет, чтобы вы создали билет Lighthouse и прикрепили свой патч; см. инструкции по участию в Rails для получения дополнительной информации.
edit Вот диаграмма, показывающая, что происходит. Вы просто клонировали вышестоящий репозиторий rails; так что теперь у вас есть свой собственный репозиторий на вашей собственной машине, которая относится к , git://github.com/rails/rails.git
как origin
:
Github: git: //github.com/rails/rails.git
^
|
Пульты: origin
|
Ваша машина: рельсы /
Вот что вы получите, если разветвите, а затем клонируете вилку:
Github: git: //github.com/rails/rails.git <- git@github.com: nadal / rails.git
^
|
Пульты: origin
|
Ваша машина: рельсы /
Если вы последуете моим инструкциям, вот что вы получите:
Github: git: //github.com/rails/rails.git <- git@github.com: nadal / rails.git
^ ^
| |
Пульты: исходное происхождение
| |
Ваша машина: \ ------------------------------- рельсы /
Это похоже на версию, которую вы получаете путем разветвления, за исключением того, что у нее также есть upstream
пульт, поэтому вы можете отслеживать официальные изменения и объединять их в свой код (если вы создали разветвленную версию, вы, вероятно, захотите добавить upstream
пульт как хорошо).