2010-08-22 2 views
18

У меня есть две директории на моей локальной машине, указывающие на тот же удаленный репозиторий git. Когда я выдаю команду git branch -r в одном из каталогов, я получаю более длинный список удаленных ветвей, а затем в другом каталоге. Как это возможно?
Кажется, что некоторые удаленные ветви «скрыты» в одном каталоге и видны в другом.Удаленные ветви git не показаны с `git branch -r`?

+0

Что вы подразумеваете под скрытым в одном каталоге и видимым в другом? –

ответ

2

Оба хранилища обновлены? Попробуйте запустить git fetch и посмотрите, исправляет ли он это.

9

Я думаю, вы должны принести и чернослив:

prune 
Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>". 

With --dry-run option, report what branches will be pruned, but do not actually prune them. 

С этим commandlines:

git fetch 
git remote prune origin 
+4

Эти две команды можно сократить до 'git fetch -p'. – svick

32

Я была такая же проблема, не может получить удаленные филиалы на одном из моих локальных каталогов. git branch -r будет показывать меньше ветвей, а также не самое верхнее изменение, в то время как в другом каталоге все было хорошо освежающе.

Чтобы исправить это, я сделал git config -l в обоих каталогах и выяснил, что мне не хватает настройки remote.origin.fetch. Выполнение следующей строки исправило мою проблему:

git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/* 
git fetch 

From github.com:username/test2 
    2bd5e5e..2619d39 master  -> origin/master 
* [new branch]  remotebr2 -> origin/remotebr2 
* [new branch]  remotebranch -> origin/remotebranch 
+0

Это фиксировало мою проблему, с которой я столкнулся, когда создаю свое репо через Aptana3 –

+0

отлично поработал ... tnx –

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