Слияние (без ветви) в мастер - PullRequest
46 голосов
/ 13 января 2011
dave@dave-dev:/media/dev/belgravia$ git branch
* (no branch)
  master

Я не уверен, как это произошло, но есть ли способ, которым я могу слить ветку без в мастер.Я не уверен, как я могу объединить две ветви, если одна из них не является веткой.Коммиты без веток кажутся свободными.Боюсь, что checkout master приведет к потере данных.

Ответы [ 3 ]

69 голосов
/ 13 января 2011

Используйте git show, чтобы получить идентификатор фиксации SHA1 для текущего HEAD. С этой информацией вы не можете потерять эти коммиты.

Затем переключитесь на мастер и:

git merge abc123

, где abc123 - это SHA1 с первого шага.

4 голосов
/ 25 августа 2012

Может быть, вы можете зафиксировать это в текущей ветке (без ветки)

Тогда вам нужно сделать:

git reflog

После этого вы можете получить идентификатор этого коммита, например, 1d84d08

до:

git checkout master 
git merge 1d84d08
3 голосов
/ 15 августа 2012

Причина, по которой у вас есть (нет ветки), что вы сделали:

git checkout REMOTE_BRANCH_NAME
  • Чтобы вы могли локально работать в этой ветке, вы должны сделать: git checkout -b local_branch_new_name
  • теперь сделайте: git branch - a
  • вы увидите:

local_branch_new_name

  master
  • Отсюда вы можете слить ветку в мастер обычным способом.переключитесь на мастер и выполните:

    git merge local_branch_new_name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...