git: адрес коммита внутри ветки? - PullRequest
0 голосов
/ 30 мая 2018

До сих пор я знаю два способа адресации коммитов в git:

  • через коммит-хэш
  • через имя ветви

Есть ли способ обратиться к хешу коммитов в существующей ветке?

Если я проверю хеш коммита, то я не на ветке.

Если я извлекаю ветку, тоЯ всегда получаю последний коммит в этой ветке.

Как обратиться к коммиту внутри ветки?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Если вы извлекаете конкретный коммит, вы не находитесь на ветке, и для вас ничего не значит быть на ветке.Непонятно, чего вы на самом деле пытаетесь достичь.

Одна вещь, которую вы можете сделать, это создать новую ветку при коммите и переключиться на эту ветку:

$ git branch my-new-branch <commit-hash>
$ git checkout my-new-branch

Это будетсделайте ваш коммит заголовком новой ветви и получите его.

Фиксирует в git форму дерева, а ветвь - это не что иное, как метка, указывающая на один из этих коммитов.Коммит может быть частью любого числа ветвей, и во многих ситуациях не имеет смысла думать о коммитах как о принадлежащих ветке.

0 голосов
/ 30 мая 2018

Используйте git branch <new-branch-name> <commit-hash>, чтобы создать новую ветвь с именем <new-branch-name>, которая начинается с фиксации, обозначенной <commit-hash>.Затем вы можете git checkout <new-branch-name>, чтобы начать работу над ним.

Или вы можете объединить две команды выше в одну команду, которая выполняет обе операции за один шаг:

git checkout -b <new-branch-name> <commit-hash>

Подробнее о git checkout и git branch.Кроме того, каким-то образом с частью вашего вопроса связана страница документации, которая объясняет различные способы указания ревизии Git или диапазона ревизий .

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