Подтвердить что ты не робот

Error: pathspec 'test-branch' не соответствует ни одному файлу, известному git

Я новый пользователь Git. Я разветкил хранилище под названием "Ложка-нож" (доступно для тренировки с помощью Git). Затем я клонировал его локально, запустив

git clone https://github.com/rohinichoudhary/Spoon-Knife.git

Этот репозиторий содержит три ветки, то есть

  • master,
  • test-branch,
  • change-the-title.

Когда я запускаю git branch, он показывает только *master, а не остальные две ветки. И когда я запустил

git checkout test-branch

Я получаю следующую ошибку:

error: pathspec 'test-branch' не соответствует ни одному файлу, известному Git.

Почему это происходит? Как я могу решить эту проблему?

4b9b3361

Ответ 1

Когда я запускаю git branch, он показывает только *master, а не остальные две ветки.

git branch не перечисляет test_branch, потому что такой локальной ветки не существует в вашем локальном репо. При клонировании репо создается только одна локальная ветвь (master здесь) и выдается в результирующем клоне, независимо от количества ветвей, существующих в удаленном репо, с которого вы клонировали. На этом этапе test_branch существует только в вашем репо, как ветвь удаленного отслеживания, а не как локальная ветвь.

И когда я запускаю

git checkout test-branch

Я получаю следующую ошибку: [...]

Вы должны использовать "старую" версию Git. В более поздних версиях (от версии v1.7.0-rc0 и далее),

Если <branch> не найден, но существует ветвь отслеживания в точно один удаленный (назовите его <remote>) с соответствующим именем, обработайте [git checkout <branch>] как эквивалентно

$ git checkout -b <branch> --track <remote>/<branch>

Просто запустите

git checkout -b test_branch --track origin/test_branch

вместо этого. Или обновите до более поздней версии Git.

Ответ 2

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

git fetch
git checkout test-branch

Ответ 3

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

git branch test-branch  

и

git branch change-the-title

тогда вы сможете сделать git checkout для этих ветвей

Также после создания каждой ветки, вносите последние изменения этих ветвей с помощью git pull origin branch_name, как показано ниже в коде

git branch test-branch
git checkout test-branch
git pull origin test-branch

а для другой ветки с именем change-the-title выполните следующий код = >

git branch change-the-title
git checkout change-the-title
git pull origin change-the-title

Счастливое программирование:)

Ответ 4

Современный Git должен иметь возможность обнаруживать удаленные ветки и создавать локальный при проверке.

Однако, если вы сделали мелкий клон (например, с помощью --depth 1), попробуйте выполнить следующие команды для его исправления:

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

и попробуйте снова проверить ветвь.

Альтернативно попробуйте отключить ваш клон, например. git fetch --unshallow и повторите попытку.

См. также: Как получить все удаленные ветки?

Ответ 5

просто выполните три шага, проблема с ветвями git будет решена.

git remote update
git fetch
git checkout --track origin/test-branch

Ответ 6

Эта ошибка также может появиться, если ваша ветка git неверна, даже если она чувствительна к регистру. В моем случае я получал эту ошибку, поскольку фактическое название ветки было "CORE-something", но я принимал притяжение, как "core-something".

Ответ 7

Решение:

Чтобы исправить это, вам нужно сначала выбрать

$ git fetch origin

$ git rebase origin/master

Текущий мастер ветвей обновлен.

$ git checkout develop

Разрабатывается ветвь, созданная для отслеживания удаленной ветки от источника.

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