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