что делает Github, когда я нажимаю на эти кнопки? Скажем, я делаю запрос на тяну в Гитубе. Что такое команда git, которую я бы ввел (git pull ....
?). А как насчет разветвления? Что делает Гитуб за кулисами.
Точные git эквиваленты командной строки для кнопок "Pull Request" и "Fork Repo" в Github
Ответ 1
Вилку можно рассматривать как эквивалентную git clone <URL for source repo>
, хотя репо на GitHub является голым (без рабочего дерева "проверено" ), поэтому за кулисами они могут делать что-то вроде git clone --bare <URL>
.
Запрос на перенос просит владельца исходного репо перевести ваши изменения в их репо... поэтому нет эквивалентной команды git. Это немного похоже на отправку по электронной почте владельцу этого репо, чтобы сказать: "Вот некоторые изменения, которые я сделал, надеюсь, что они вам нравятся". Если они согласятся с запросом на вытягивание, в основном они будут делать эквивалент git pull <URL for your repo>
.
Ответ 2
Если вам интересно, как эмулировать поведение запросов forking и pull, VonC ответил, что гораздо лучше, чем я могу . В основном clone
и pull
.
Если вас интересует то, что GitHub действительно делает за кулисами, это немного сложнее. Зак Холман, @holman на GitHub, недавно дал слово "Как Build GitHub" , где он подробно рассказывает об их реализации.