Git: no se puede realizar el check-out de la rama - error: pathspec '...' no coincide con ningún archivo conocido por git
No estoy seguro de por qué no puedo pagar una sucursal en la que había trabajado anteriormente. Vea los comandos a continuación (nota: co
es un alias de 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.
No estoy seguro de lo que significa y parece que no puedo encontrar nada que pueda entender en Google.
¿Cómo pago esa sucursal y qué puedo haber hecho para solucionarlo?
ACTUALIZAR :
Encontré esta publicación y ejecutar git show-ref
me da:
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
ACTUALIZAR en .git
el directorio ( user_controlled_site_layouts
está en 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
ACTUALIZACIÓN engit show 3af84fcf1508c44013844dcd0998a14e61455034
$ git show 3af84fcf1508c44013844dcd0998a14e61455034
commit 3af84fcf1508c44013844dcd0998a14e61455034
Author: Ramon Tayag <[email protected]>
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"
Intente git fetch
que su repositorio local obtenga toda la información nueva de Github. Solo toma la información sobre nuevas ramas y ningún código real. Después de eso, git checkout
debería funcionar bien.
Recibí este error cuando intenté pagar una nueva rama:
error: la especificación de ruta 'BRANCH-NAME' no coincide con ningún archivo conocido por git.
Cuando lo intenté git checkout origin/<BRANCH-NAME>
, obtuve el HEAD separado:
(separado del origen/)
Finalmente, hice lo siguiente para resolver el problema :
git remote update
git fetch
git checkout --track origin/<BRANCH-NAME>
Recibí este error para una sucursal que era remota y no tenía una sucursal de seguimiento local. Aunque estoy seguro de haber verificado sucursales remotas a través de un simple
git checkout feature/foo
en el pasado, para solucionar este error tenía que
git checkout -t -b feature/foo origin/feature/foo
Tampoco tengo idea de qué hice para llegar a esa situación.
Si eliminó una sucursal git branch -D yourbranchname
y extrajo/clonó nuevamente su repositorio, es posible que deba crear su sucursal local nuevamente.
Intentar:
git checkout -b yourbranchname