У меня есть две директории на моей локальной машине, указывающие на один и тот же удаленный репозиторий git.
Когда я выдаю команду git branch -r
в одном из каталогов, я получаю более длинный список удаленных ветвей, а затем в другом каталоге. Как это возможно?
Похоже, что некоторые из удаленных ветвей "скрыты" в одном каталоге и видны в другом.
Удаленные ветки git не показаны с `git branch -r`?
Ответ 1
У меня была такая же проблема, я не мог получить удаленные ветки в одном из моих локальных каталогов. 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
Ответ 2
Я думаю, вы должны получить и обрезать:
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.
С помощью этой командной строки:
git fetch
git remote prune origin
Ответ 3
Являются ли оба хранилища актуальными? Попробуйте запустить git fetch
и проверьте, исправляет ли он это.