Нет, вам не нужно добавлять их в качестве удаленного. Это было бы громоздко и мучительно каждый раз.
Получение их коммитов:
git fetch git@github.com:theirusername/reponame.git theirbranch:ournameforbranch
Это создает локальную ветвь с именем ournameforbranch
, которая точно такая же, как theirbranch
для них.В примере с вопросом последний аргумент будет foo:foo
.
Примечание. :ournameforbranch
часть может быть оставлена без внимания, если придумать имя, не конфликтующее с одной из ваших собственных ветвей, утомительно.В этом случае доступна ссылка под названием FETCH_HEAD
.Вы можете git log FETCH_HEAD
видеть их коммиты, а затем делать такие вещи, как cherry-picked
, чтобы вишня выбрала их коммиты.
Отодвигая их обратно к ним:
Часто вы хотите исправить что-то их и отодвиньте это назад.Это также возможно:
git fetch git@github.com:theirusername/reponame.git theirbranch
git checkout FETCH_HEAD
# fix fix fix
git push git@github.com:theirusername/reponame.git HEAD:theirbranch
Если работа в отключенном состоянии беспокоит вас, непременно создайте ветку, используя :ournameforbranch
, и замените FETCH_HEAD
и HEAD
выше с ournameforbranch
.