2015-08-26 2 views
1

Мой cо-разработчик сделал много изменений на своем удаленном хранилище gitlab: сливались, удалены, созданы новые отрасли и т.д.Git не показывает все филиалы

Теперь мне нужно работать над новой особенностью отрасли, что он только что созданный. Я открываю Gitbash, сделайте следующее:

git pull [email protected]:root/project-name.git 
git checkout new-feature 

Я получаю error: pathspec 'new-feature' didn't match any file(s) known to git.

Тогда я попробовал:

git show-ref 

Это показывает только две ветви, в то время как он должен показать, по крайней мере 8. Я также попытался которые не имеют никакого значения.

Являются ли файлы действительно отсутствующими или просто не отслеживают новые ветки? Как получить новую ветку в мое рабочее пространство? : git clone решить это или сделать только хуже? Благодарю.

ОБНОВЛЕНИЕ: Благодарим вас за помощь, к сожалению, ни одно из предложений не было выполнено, и мне пришлось удалить все, настроить его с нуля и сделать новый клон. Мы просмотрели журналы ошибок, но не нашли никаких подсказок. Пожалуй, одна из этих вещей.

+0

Вы спросили своего коллегу, если он подтолкнул свою новую ветку к «происхождению»?Если да, попробовали ли вы git pull origin new-feature? – NuclearPeon

+0

Что говорит вам 'git branch -a'? – Jubobs

+0

'git pull [email protected]: root/project-name.git' - это даже работает? –

ответ

0

Вы можете попытаться получить ветку на удаленном

git checkout origin/branch-name 

Кроме того, мы используем сетевой график в gitlab UI сильно, чтобы проверить любые несоответствия с филиалом.

+0

Спасибо, когда я это сделаю, я получаю ту же ошибку pathspec, что и раньше. Просто войдите в систему, чтобы проверить его панель управления gitlab, и раздел «Сеть» выглядит логичным. Я вижу все 8 ветвей. Тем не менее я могу получить доступ только к двум на моей машине. –

0

Вы должны дать имя в хранилище первого:

git remote add somerepo [email protected]:root/project-name.git 

Затем, когда вы выдвижная мерзавец будет хранить удаленные филиалы отслеживания в somerepo/у-функции, и когда вы делаете git checkout new-feature это создаст на этом основан новый локальный филиал.

Когда вы делаете git pull <url>, выбирается только HEAD, и он хранится в FETCH_HEAD, что, вероятно, не то, что вы хотите.

0

Я знаю, что это старая нить, но я просто наткнулся на нее, потому что у меня была та же проблема. После проверки «man git» я узнал, что «git fetch» ​​делает трюк. Таким образом, для всех, кто может столкнуться с этой темой в будущем:

  1. Перейти на терминал.
  2. Перейдите в каталог проекта.
  3. git fetch.

В описании git fetch состояний:

Fetch ветви и/или метки (совместно именуемый «рефы») из одного или нескольких других хранилищ, наряду с объектами, необходимыми для выполнения их истории. Удаленное отслеживание ветви обновляются (см. Описание ниже, чтобы узнать, как управлять этим поведением).

Смежные вопросы