Извлекать только подмножество удаленных веток git или отображать только подмножество их в gitk - PullRequest
6 голосов
/ 27 сентября 2011

Если другие разработчики помещают свои локальные ветви в общий удаленный репозиторий перед фиксацией в транке (для совместного использования, резервного копирования или централизованного хранения их для доступа с нескольких компьютеров), есть ли способ для меня, чтобы легко получать только свои собственные ветви иливыборочно удалять локальные ссылки на чужие удаленные ветки?Если нет, то есть ли способ показать только подмножество удаленных веток в gitk, чтобы я мог видеть, где мои ветви относительно моих удаленных ветвей, но не загроможден ли график чужими удаленными ветвями?

1 Ответ

6 голосов
/ 27 сентября 2011

Вот один из способов извлечения определенных веток с пульта:

Ссылки (включая ветви), которые выбираются с пульта, управляются параметром конфигурации remote.<remote-name>.fetch. Например, ваш remote.origin.fetch, вероятно, является refspec:

+refs/heads/*:refs/remotes/origin/*

... что означает сделать выборку имен всех ссылок под refs/heads/ в удаленном репозитории и сделать их доступными под refs/remotes/origin/ в вашем локальном репозитории. (+ означает принудительное обновление, поэтому ветки удаленного отслеживания могут обновляться, даже если обновление не будет ускоренным.)

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

 git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master
 git config --add remote.origin.fetch +refs/heads/blah:refs/remotes/origin/blah

... и тогда в следующий раз будут выбраны только master и blah.

Конечно, у вас уже есть много удаленных веток, и gitk все равно покажет их. Вы можете удалить все, что вас не интересует:

git branch -r -d origin/uninteresting
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...