Как объединить результат выборки в мастер?
Я только что сделал "сбор вишни", выполнив
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