Git отказывается сменить ветку - PullRequest
0 голосов
/ 16 апреля 2019

Git отказывается переключать ветки под linux.

Я инициализировал свой проект.В Linux существует ветка python, и я вижу ее, когда даю команду:

git branch -a | grep python remotes/origin/python

Но под linux git отказывается переключаться на ветку python.

Часы:

git branch
* master

Тогда я делаю:

git checkout python

Проверьте ветку еще раз:

git branch
* master

Попробуйте еще раз:

git checkout origin python

Проверьте еще раз, все еще под хозяином:

git branch
* master

Попробуйте еще раз:

git checkout --force python

Все еще в той же ветке.Я в мастерской:

git branch
* master

Я даже попытался удалить весь каталог и проверить его снова.То же самое.Я не могу переключиться на ветку с именем python в Linux.

В Windows это работает нормально.Я могу переключаться назад и вперед.Но мне нужно также протестировать и в Linux.

Почему git не выполняет мою команду переключить ветку?

Ответы [ 5 ]

0 голосов
/ 16 апреля 2019

Иногда использование визуального инструмента может быть весьма полезным.В этом нет стыда.Вы пробовали такой инструмент, как GitKraken?Доступно для Linux.

0 голосов
/ 16 апреля 2019

git checkout python должен генерировать некоторые выходные данные, подобные этому:

Branch 'python' set up to track remote branch 'python' from 'origin'.
Switched to a new branch 'python'

Команда git checkout origin python должна выдать ошибку, подобную этой:

error: pathspec 'python' did not match any file(s) known to git

Если по обеим командам выводится нет , либо ваш git сильно поврежден, ИЛИ - что гораздо более вероятно - вы не увидите вывод STDERR, потому что он перенаправлен куда-то еще.

Вы можете проверить это следующим образом (предполагая стандартную оболочку bash):

echo 1>&2 Hello World

Если нет вывода, то ваш терминал / оболочка блокируется. Если есть выход, то «только» выходы ошибок git отнимаются. В этом случае вы можете сделать

git checkout python 2>&1

чтобы увидеть вывод (так как git branch -a работает, STDIN виден).

0 голосов
/ 16 апреля 2019

Существует ли ветка python?

Попробуйте

git checkout -b python.

-b создаст ветку.

0 голосов
/ 16 апреля 2019

Ответвление должно быть удалено с пульта.

Попробуйте: git pull origin python

Затем проверьте его.

0 голосов
/ 16 апреля 2019

Если git branch не отображает ветку "python", у вас проблема. Вы начали свой проект? В моем случае это пример, где git branch отображает две ветки в linux и windows. Моя вторичная ветка "perso" присутствует в .git / refs /head . Работает отлично.

Зайдите в ваш .git / refs и найдите python в каталоге дифференциалов. Если вы не видите питона, значит, он не существует. Git branch

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