После клонирования репозитория я получаю только ветку вместо всех. Android Studio не распознает остальных - PullRequest
0 голосов
/ 12 мая 2018

У меня есть пример проекта Android в Udacity, состоящий из нескольких упражнений, каждое из которых находится в отдельной ветке.Я разветвил репозиторий, а затем git клонировал раздвоенную версию из терминала Android Studio.Тем не менее, когда я смотрю ветку git, чтобы увидеть доступные ветви, единственная существующая ветвь - это с именем Develop_branch или StarterCode.Вы можете увидеть репо здесь .Итак, если я попытаюсь сделать git ветку для некоторых упражнений, будет создана новая ветка.Кроме того, код, который я вижу в Android Studio, взят из единственной ветви, которая была клонирована ... Я пытался реализовать некоторые решения для подобных проблем, таких как Git. Мои ветви не отображаются после клонирования репо или После клонирования репозитория Git видна только основная ветвь, однако я думаю, что конкретная проблема другая.Я считаю, что это связано именно с Android Studio.

Я хотел бы добавить, что я проделал то же самое с другим проектом пару дней назад, без этих проблем.Все работало нормальноРазница лишь в том, что когда я впервые клонировал репо, я клонировал в неправильную папку.Затем я удалил его и клонировал в нужную папку.Если это является причиной проблемы, есть ли способ ее исправить?

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

Я разветвил хранилище, а затем git клонировал разветвленную версию. из терминала Android Studio. Тем не менее, когда я гита ветку, чтобы увидеть доступные ветви, единственная существующая ветвь называется Develop_branch или StarterCode.

Так работает git. Когда вы локально клонируете git-репо с несколькими ветками, будет только ветка по умолчанию . В зависимости от удаленного репо, ветвь по умолчанию на данный момент develop_branch. Поэтому, когда вы клонируете git repo из github, единственная локальная ветка - develop_branch.

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

git checkout <remote branch name>

Тогда удаленная ветвь будет проверяться локально.

Чтобы проверить разницу между двумя ветвями, вы можете использовать команду:

git diff branchname1 branchname2 --name-only

Например, вы можете увидеть разницу между develop_branch и T0X.01-Exercise-GoogleApiClient на git diff develop_branch T0X.01-Exercise-GoogleApiClient --name-only.

Если файл имеет другую версию между develop_branch и T0X.01-Exercise-GoogleApiClient, но он показывает тот же код в Android Studio, то вы можете устранить неполадки со следующими аспектами:

  1. Проверка успешности переключения ветви

    Предположим, вам нужно переключиться с develop_branch на T0X.01-Exercise-GoogleApiClient, вы можете проверить текущую ветку внизу окна Android Studio.

    enter image description here

  2. Закройте файл и снова откройте

    Если содержимое файла не изменяется соответственно в другую ветвь, вы можете закрыть файл и открыть его, а затем проверить содержимое снова.

0 голосов
/ 15 мая 2018

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

Забавно, что я всегда копировал один и тот же веб-адрес репо. Я не могу понять, что вызвало такое поведение.

0 голосов
/ 12 мая 2018

Запуск git branch -a, очевидно, показывает, что у вас есть отслеживание веток для нужных вам веток, и вы сказали в комментарии:

да, все имена ветвей - те, которые я хочу

Тогда все, что вам нужно сделать, чтобы оформить локальную ветку, это что-то вроде

git checkout T0X.01-Exercise-GoogleApiClient

Git автоматически создаст локальную ветку, которая отслеживает origin/T0X.01-Exercise-GoogleApiClient.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...