метку - git tag vs branch



Git совершает против тега без ветки (3)

Если я проведу тегированную версию исходного кода без создания ветки, Git указывает, что я вообще не связан с какой-либо ветвью. Я счастлив позволить мне вносить изменения и проверять их. Куда идут эти изменения? Если я вернусь к «хозяину», они исчезнут (переписаны тем, что было у мастера), и я не могу найти их снова. Что дает? Если Git позволяет мне фиксировать изменения в отношении анонимной ветки, я могу вернуть их обратно?


Answer #1

Да, они будут в логах.

Вы можете назвать отрасль в любое время следующим образом:

git checkout -b my-branch-name

Answer #2

Чтобы ответить на второй вопрос, вы должны использовать git reset - hard yourtagname

Что касается того, что произойдет, вы по существу разветвляете свою ветку в тэге и остаетесь в той же ветке. Ваши коммиты в старой вилке все еще там ... их просто трудно увидеть. Возможно, вам придется использовать reflog, чтобы найти старую вилку.


Answer #3

В качестве альтернативы вы можете объединить фиксацию в мастер без новой ветви, найдя ее SHA1 (используя git reflog, как указано выше), а затем:

git checkout master
git merge SHA1




commit