2017-02-10 3 views
0

Как проверить версию фиксации ветви в git. Например, моя ветка, Dev, имеет фиксацию ad4f43af43e. Как я могу проверить это сообщение? Не только один файл, но и целая ветка. Я искал в сети и нашел: git checkout <commit>, но не указал название филиалаGit, как проверить фиксацию ветки

Спасибо.

+2

Ветвь - это всего лишь указатель на фиксацию. Оформить фиксацию с помощью своего SHA1, затем вы сделаете свой HEAD точкой для этой фиксации напрямую. Я рекомендую вам прочитать https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell – rom1v

ответ

0

Вы можете: checkout - commit-sha, то создайте новую ветку (скажем, feature) от этой фиксации.

$ git checkout <commit> 
$ git checkout -b feature # create a new branch named `feature` from the commit 


# if you want to replace the current branch (say 'develop') with new created branch ('feature') 
$ git branch -D develop  # delete the local 'develop' branch 
$ git checkout -b develop # create a new 'develop' branch from 'feature' branch 
+0

, когда вы говорите, что создаете функцию ветки, ветка находится в удаленной или локальной ? – user1615666

+0

@ пользователь1615666: * все * ветви Git местные. (Даже ваши «ветви удаленного отслеживания», такие как 'origin/master', на самом деле являются локальными, они просто автоматически * обновляются *, чтобы соответствовать' origin', когда вы запускаете 'git fetch'. Думайте о' fetch' as "Tell мой Git, чтобы вызвать еще один Git через интернет-телефон, и получить любые обновления, которые другие Git имеют для моего Git. «Между тем« git push »- это« заставить мой Git вызвать тот же самый Git, но вместо * получать * вещи , * дайте * им вещи и попросите их обновить свои ветви. ") – torek

0

Если вы хотите, чтобы расшириться от конкретного совершения ветви, первым убедитесь, что вы находитесь в отрасли,

git checkout dev 

Теперь я хочу, чтобы оформить конкретное обязательство 123654 от dev к новой ветке, сохраняя голову на главной ветке.

git checkout -b new-branch 123654 
0
git checkout <hash> # non named commit 
git checkout <branch_name> # named commit 

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

Если вы хотите разместить вас филиал Dev на коммит ad4f43af43e вы можете сделать это

git branch -f Dev ad4f43af43e 

Becareful! Это опасно, потому что вы можете потерять фиксации