2017-01-16 3 views
1

У меня проблема с GIT (версия 1.8.5.6) в сочетании с приложением. Я создал местные отделения в моей системе разработки с помощью командыGit Branch - не удаленная ветка в шкафу

git checkout -b <my new branch> 

В конце концов я оттолкнула мою новую ветку на удаленный сервер притона:

git push -u origin <my new branch> 

Сейчас я не в состоянии оформить свой новый филиал на моя тестовая система, потому что ветви в Stash не являются удаленными ветвями. Если я выполнить следующие команды, я не вижу, все ветви:

git branch -a 

или

git branch -r 

В результате мои филиалы в заначке не создаются в удаленных филиалах. Теперь у меня есть два вопроса. Как получается, что мои ветви не являются отдаленными ветвями?

И

Можно ли изменить ветви и преобразовывать их в отдаленные?

Вот некоторые более подробная информация:

git remote show 
--> origin 
git ls-remote 
--> shows all branches including that ones I have pushed from my dev system. 

Благодарим Вас за рекомендацию,

наилучшими пожеланиями Йорн

+0

ОК, я думаю, что я решил проблему самостоятельно. Мой локальный репозиторий каким-то образом был поврежден. Я удалил локальное репо, включая каталог .git. После этого я клонировал удаленный репозиторий. В следующий раз я смог проверить самую новую ветку с сервера Stash. – soa

ответ

0

Git (в основном) в автономном инструмент. Ваша тестовая система не знает о вновь созданной ветке на пульте дистанционного управления, пока она не свяжется с пультом дистанционного управления. Ваш git ls-remote делает это и, следовательно, видит новую ветку.

Вы можете git fetch --all, чтобы ваш местный мерзавец знать о всех ветвей и тегов, которые существуют вверх по течению.

перезагрузки клонировать репозиторий, вы фактически сделали то же самое: получать все удаленные тег и ветвь, но вы повторно загружены все объекты, которые уже были.

Обратное не верно, однако: git fetch --all не удаляет ветви, которые больше не существуют вверх по течению. Для этого вам нужно git remote prune origin.