Я не уверен, почему я не могу оформить заказ на ветку, над которой работал раньше. Смотрите команды ниже (примечание: co
это псевдоним для checkout
):
ramon@ramon-desktop:~/source/unstilted$ git branch -a
* develop
feature/datts_right
feature/user_controlled_menu
feature/user_controlled_site_layouts
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/feature/datts_right
remotes/origin/master
ramon@ramon-desktop:~/source/unstilted$ git co feature/user_controlled_site_layouts
error: pathspec 'feature/user_controlled_site_layouts' did not match any file(s) known to git.
Я не уверен, что это значит, и я не могу найти ничего, что я могу понять в Google.
Как мне оформить эту ветку и что я мог сделать, чтобы сломать это?
ОБНОВЛЕНИЕ :
Я нашел этот пост , и бег git show-ref
дает мне:
97e2cb33914e763ff92bbe38531d3fd02408da46 refs/heads/develop
c438c439c66da3f2356d2449505c073549b221c1 refs/heads/feature/datts_right
11a90dae8897ceed318700b9af3019f4b4dceb1e refs/heads/feature/user_controlled_menu
c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/heads/master
c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/remotes/origin/HEAD
e7c17eb40610505eea4e6687e4572191216ad4c6 refs/remotes/origin/develop
c438c439c66da3f2356d2449505c073549b221c1 refs/remotes/origin/feature/datts_right
c889b37a5ee690986935c9c74b71999e2cf3c6d7 refs/remotes/origin/master
23768aa5425cbf29d10ff24274adad42d90d15cc refs/stash
e572cf91e95da03f04a5e51820f58a7306ce01de refs/tags/menu_shows_published_only
429ebaa895d9d41d835a34da72676caa75902e3d refs/tags/slow_dev
ОБНОВЛЕНИЕ в .git
каталоге ( user_controlled_site_layouts
находится в refs/heads/feature folder
):
$ ls .git/refs/heads/feature/
datts_right user_controlled_menu user_controlled_site_layouts
$ cat .git/refs/heads/feature/user_controlled_site_layouts
3af84fcf1508c44013844dcd0998a14e61455034
ОБНОВЛЕНИЕ на git show 3af84fcf1508c44013844dcd0998a14e61455034
$ git show 3af84fcf1508c44013844dcd0998a14e61455034
commit 3af84fcf1508c44013844dcd0998a14e61455034
Author: Ramon Tayag <xxx@xxxxx.xxx>
Date: Thu May 12 19:00:03 2011 +0800
Removed site layouts migration
diff --git a/db/schema.rb b/db/schema.rb
index 1218fc8..2040b9f 100755
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20110511012647) do
+ActiveRecord::Schema.define(:version => 20110503040056) do
create_table "attachments", :force => true do |t|
t.string "name"
@@ -205,15 +205,6 @@ ActiveRecord::Schema.define(:version => 20110511012647) do
t.integer "old_id"
end
- create_table "site_layouts", :force => true do |t|
- t.string "name"
- t.text "description"
- t.text "content"
- t.integer "site_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
create_table "site_styles", :force => true do |t|
t.text "published"
t.datetime "created_at"
git checkout refs/heads/user_controlled_site_layouts
?git branch -a
но не вgit show-ref
. Файл.git/refs/heads/feature/user_controlled_site_layout
действительно существует? Если так, чтоcat .git/refs/heads/feature/user_controlled_site_layout
дает?Ответы:
Попробуйте,
git fetch
чтобы ваш локальный репозиторий получал всю новую информацию от github. Он просто берет информацию о новых ветвях и не содержит фактического кода. После этогоgit checkout
должно работать нормально.источник
git fetch
полезно, когда вам нужно синхронизировать ваш локальный репозиторий с удаленным репозиторием, но вы не хотите объединять изменения в вашей рабочей папке.git checkout Branch
не работает. При использовании нескольких пультов только имя филиала неоднозначно и требует указания удаленного / филиала. Командаgit checkout -b branch remote/branch
работает в этом сценарии.git fetch
мог бы сделать работу. Но он может не получить все ветки удаленно. Вам нужно будет установить шаблон соответствия выборки.git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
см. stackoverflow.com/questions/11623862/…Я получал эту ошибку, когда пытался оформить заказ на новую ветку:
Когда я попытался
git checkout origin/<BRANCH-NAME>
, я получил отдельную ГОЛОВУ:Наконец, я сделал следующее, чтобы решить проблему :
источник
git checkout --track origin/staging fatal: git checkout: --track and --no-track require -b
git version 1.5.6.5git checkout -b staging --track origin/staging
Я получил эту ошибку для ветви, которая была удаленной и не имела локальной ветви отслеживания. Хотя я уверен, что проверил удаленные ветви с помощью простого
в прошлом, чтобы обойти эту ошибку, мне пришлось
Я понятия не имею, что я сделал, чтобы попасть в эту ситуацию.
источник
fetch = +refs/heads/*:refs/remotes/origin/*
строку в соответствии с новым удаленным именем. ЛОЛ. Может быть, это случилось с Макандрой? потому что после исправления, проверка ветви снова получает его из источника, хотя у меня много пультов.Если вы удалили ветку с помощью
git branch -D yourbranchname
своего репо и снова вытащили / клонировали его, возможно, вам придется снова создать локальную ветку.Пытаться:
источник
У меня есть те же вопросы, и я получил некоторую информацию по этой ссылке: git fetch не выбирает все ветки
Поэтому сейчас я не уверен, как эта ситуация произошла, по крайней мере, мы можем ее решить:
Шаг 1. Проверьте настройки «remote.origin.fetch», должно быть так
Шаг 2. Измените «remote.origin.fetch», чтобы получить все
Затем вы можете попробовать "git pull" (возможно, "git fetch origin" также работает, но я не пытался), чтобы получить всю ветку.
источник
Пользователи Git Windows остерегаются - без параметра
--icase-pathspecs
илиGIT_ICASE_PATHSPECS = 1
env var эти git pathspecs будут чувствительны к регистру, в этом случаеэто не то же самое, что
источник
--icase-pathspecs
параметр должен-C <path>
Если в имени ветви нет незафиксированного файла, попробуйте
источник
Я столкнулся с проблемой при переключении моей ветви.
Я сделал git pull на текущую ветку, а затем попытался проверить новую, и это сработало
git pull // on your old branch git checkout <new_branch>
источник
git pull
ли больше, чем тянуть текущую ветку?Это просто исправило это для меня :)
источник
У меня такая же проблема, потому что я использовал
git clone --depth=1
, что подразумевает--single-branch
.У законченного
git clone
будет все исправлено.источник
Я получил это, когда я сделал следующее:
Когда я попытался проверить в каталоге, я получил эту ошибку.
Исправить:
Я открыл репо в расширениях git. Я видел, что файл (со старым именем) был поставлен. Но поскольку его больше не было, его нельзя было совершить.
Я просто unstaged этот файл.
Затем я повторно добавил файл (на этот раз правильно названный) в git и зафиксировал без ошибок.
источник
У меня была эта проблема сегодня я пытался
git checkout foo
и получилerror: pathspec 'foo' did not match any file(s) known to git.
Оказывается, я был в неправильном репо . Итак, извлеченный урок: проверьте, на какой репо вы смотрите, прежде чем взбеситься.
источник
Я получил эту ошибку при попытке оформить ветку через:
который я не проверил раньше. Это работало только при явном указании удаленного:
Причиной этого было то, что у меня было 2 разных пульта (origin + sth. Else), настроенных в git config. Поскольку мне не нужен второй пульт, я снял его и вуаля, он работал. Альтернатива для установки удаленного по умолчанию через:
у меня не сработало
источник
Во-первых, проверьте родительскую ветвь. Затем введите
Надеюсь, поможет!.
источник
Я исправил это, изменив мой файл конфигурации git. Проверьте ваш файл конфигурации в вашем каталоге git -
.git\config
Ранее было
Я исправил, изменив его
Обратите внимание, что заголовок указывает только на одну ветку, поэтому он не может найти ссылку на другие существующие ветви, я изменил ее на *, чтобы она проверяла все в источнике.
источник
В ОС Windows по умолчанию git устанавливается с
Это означает, что файлы git repo будут нечувствительны к регистру, чтобы изменить это, вам нужно выполнить:
Вы можете найти эту конфигурацию в файле .git \ config
источник
Я скопировал удаленный источник
url
из другого.git/config
файла, поэтому мой новый.git/config
файл отсутствовал в следующей строке[remote "origin"]
разделаИсправлено добавление вышеуказанной строки
error: pathspec 'master' did not match any file(s) known to git.
источник
У меня была та же проблема .. Я думал, что назвал ветку,
foo
когда я пытаюсь:Я получаю:
Тогда я попробовал полное название ветки:
тогда работал на меня.
источник
Если это происходит в Windows, это, вероятно, проблема с именем файла.
У меня была эта ошибка сегодня - я создал новый файл, добавил в GIT, затем я изменил одну букву в имени файла с нижнего на верхний, а затем я ничего не мог - зафиксировать, отменить, удалить файл из репо.
Единственное решение, которое я нашел, - это снова изменить имя файла на тот же самый случай, когда я добавил этот файл в GIT, затем выполнил GIT, чтобы удалить этот файл из GIT, а затем снова изменил имя файла, как я хочу. После этих изменений я мог совершить репо и затем нажать без проблем.
источник
git mv
. Думаю, вы сделали это таким образом, потому что мне это не удалось сделать с помощью моей IDE (IntelliJ PhpStorm) ...В моем случае у меня есть ДВА ветки 1) master (для живого сервера) 2) dev (тестовый сервер). Я установил несколько пультов для отправки кода на соответствующий сервер. Когда я попытался переключить ветку, я получил ошибку, как
error: pathspec 'master' did not match any file(s) known to git.
Вы можете увидеть их по
git remote -v
. Я удалил другой пульт, кромеorigin
удаленногоgit remote remove <remote-name>
затем
git fetch
Теперь я могу оформить заказ в филиале
git checkout <branch-name>
.источник
Я столкнулся с той же проблемой, когда впервые играл с git. При попытке моего первого коммита ...
Я получил ошибку, упомянутую ОП ...
Я подумал, что мог запутать git, используя ключевое слово в сообщении фиксации, поэтому я попробовал несколько других слов и получил ту же ошибку.
Наконец я использовал двойные кавычки в сообщении ...
Это оказалось успешным ...
источник
Я сделал глупую ошибку, не указав флаг -m при фиксации (смеется)
источник
У меня была другая причина
У меня был сценарий, который в основном ищет во всех ветвях, соответствующих ключу выпуска jira для «PRJ-1234» среди всех ветвей, чтобы выполнить команду проверки ветки git в соответствующей ветке
Проблема в моем случае заключалась в том, что 2 или более веток использовали один и тот же ключ jira и, следовательно, приводили к сбою моего скрипта с вышеупомянутой ошибкой
Удалив старую неиспользуемую ветвь и убедившись, что ссылка на ключ jira была исправлена только в одной ветке
Вот мой код на случай, если кто-то захочет его использовать
сохранить это как
switchbranch.sh
Тогда используйте его из терминала
./switchbranch.sh PRJ-1234
источник
Ни один из этих ответов не решил мою проблему:
Я пытался вернуться и создать коммит для
Version object v2.0.1
. К счастью, у меня появилась идея попробовать весь хэш-код, и это сработало! Это означает, что я использовал неправильный конец хеш-кода.Как показано выше, для частичных хеш-кодов вы должны указать внешний интерфейс, а не внутренний.
источник
Произошло со мной после переименования незафиксированного файла в Android Studio.
У Git, похоже, была старая версия в своем хранилище, даже если ее больше не существовало.
Поэтому я открыл графический интерфейс Git TortoiseGit, который показал мне точный файл, вызвавший проблемы.
После этого я удалил файл из хранилища с помощью
и проблема исчезла
источник
В моем случае я переименовал файл, изменив регистр файла, т.е. SomeFile.js -> someFile.js
Я думаю, что это было связано с проблемой. Выполнение git fetch не решило проблему.
Я переместил файлы из моего проекта, сделал выборку и сделал push без них. Затем я сделал выборку, добавил их обратно и сделал толчок, и это сработало. Я не знаю, были ли все эти шаги необходимы, но в конечном итоге это сработало.
источник
в моем случае я вхожу в подмодульную директорию без
git submodule init
git submodule update
Так что git был связан с родительской папкой, которая действительно пропустила эту ветку.
источник
проверьте, не является ли это опечаткой в имени целевого файла. Я пытался поставить, набрав
Но я не заметил, что я использовал две точки, но потом я печатаю
Оно работает
источник
Для меня это была проблема с моими полномочиями
Попробовав некоторые ответы, один из них помог мне решить проблему:
Запуск
git fetch
выкинул следующую ошибку:Все, что мне нужно было сделать, это заставить мою IDE (VS Code в моем случае) запомнить мои учетные данные:
Git сразу синхронизировал все изменения и
git checkout <branche>
теперь работает нормально!источник
Я получал то же самое
pathspec error
на git-bash. Я использовал Tortoise Git на Windows, чтобы переключить / оформить ветку.источник