Как определить мастера, происхождение, голову - PullRequest
4 голосов
/ 12 января 2012

Я теряюсь в git ветках.

Как я могу определить свое происхождение / мастер / голову, если я нахожусь в произвольной ветке git?

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

Ответы [ 4 ]

8 голосов
/ 12 января 2012

Из вашего вопроса не ясно, что вы полностью понимаете, на что ссылаются origin, master и HEAD - только один из них на самом деле является ветвью. (И это ГОЛОВА, а не голова.) Вполне возможно, что некоторые из ваших заблуждений проистекают из непонимания пары основных вещей, так что это действительно хорошая идея для вас тщательно прочитать ссылки, такие как Git Book (который вы связали к), начиная с самого начала. Вы также можете по достоинству оценить Притчу о Git , которая дает дружественное, похожее на историю описание основных идей Git.

HEAD ссылается на текущий извлеченный коммит. Обычно это делается через ветку; HEAD указывает на ветвь, которая указывает на коммит, поэтому обычно мы просто говорим о том, что branch проверено. Таким образом, вы, похоже, спрашиваете, как определить, какую ветку вы извлекли, или на какую фиксацию указывает эта ветка. Вы можете использовать git branch, чтобы определить вашу текущую ветку, а также перечислить другие ваши ветви. Если вы хотите узнать больше о коммите, на который указывает ветвь, вы можете использовать git show (эквивалентно git show HEAD).

master - это имя по умолчанию, данное ветви, автоматически созданной в новом хранилище. Соглашение (которое почти повсеместно соблюдается) заключается в том, что основная ветвь является стабильной ветвью, представляющей текущий канонический контент хранилища. Это означает, что в вашем хранилище почти наверняка есть главная ветвь, поскольку вы либо создали ее, либо клонировали откуда-то, у которого есть главная ветвь. Опять же, неясно, что именно вам нужно, но обычно используемая команда - git log master, которая будет показывать коммиты, начиная с конца ветки master и возвращаясь в историю. Если вы также хотите увидеть изменения, внесенные коммиты, добавьте опцию -p. Добавление опции --decorate скажет Git аннотировать коммиты с любыми ветками, указывающими на них (например, вы увидите master на верхнем коммите). Используйте --graph, чтобы увидеть график истории искусств ASCII, удобный для понимания слияний. См. Справочную страницу git-log для получения дополнительных опций - их много. Если вы предпочитаете просмотр графической истории, попробуйте gitk master. Чтобы включить все ветви, включая удаленные, вы можете использовать gitk --all.

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

1 голос
/ 12 января 2012

вы всегда можете увидеть, что делают ваши ветви отслеживания с

git branch -r | xargs git log --decorate

добавьте --graph, если хотите увидеть, как они связаны с ветвлением и слиянием. Обновите ветви отслеживания с помощью

git fetch
0 голосов
/ 12 января 2012

Вы можете использовать что-то вроде this для отображения вашего brach

0 голосов
/ 12 января 2012

Вы могли бы gitk визуализировать структуру вашей ветви

...