Как объединить результат выборки в мастер?

Я только что сделал "сбор вишни", выполнив

git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD

После того как я выполню git branch (чтобы увидеть, в какой я ветке), я вижу, что я нахожусь в ветке со странным именем: (HEAD detached at FETCH_HEAD):

* (HEAD detached at FETCH_HEAD)
  master

Когда я иду к мастеру, выполнив git checkout master эта "странная" ветвь исчезает, и, насколько я понял, исчезают также изменения, которые я "выбрал" из удаленного репозитория (потому что они находятся в "ветке", которая исчезла).

Итак, мои вопросы: как я могу слить странную "ветку" в мастер, чтобы изменения в этой ветке не исчезли?

1 ответ

Решение

Создать новую ветку (скажем, b1) от FETCH_HEAD:

$ git fetch ssh://myname@something1 something2 && git checkout -b b1 FETCH_HEAD 

От себя b1 перейти на удаленный, затем создать запрос Pull или тянуть b1 в master непосредственно.

$ git push origin b1

Тянуть b1 разветвляться в master ветка:

$ git checkout master
$ git pull origin b1    

Альтернатива: если вы просто хотите, чтобы удаленное репо изменилось на локальное master филиал тогда:

$ git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD

$ git checkout -b b1     # create b1 branch from FETCH_HEAD

$ git checkout master    # checkout to master
$ git merge b1           # merge b1 branch into master
Другие вопросы по тегам