Je ne sais pas pourquoi je ne suis pas en mesure d'extraire une branche sur laquelle j'ai travaillé précédemment. Voir les commandes ci-dessous (note : co
est un alias pour 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.
Je ne suis pas sûr de ce que cela signifie, et je n'arrive pas à trouver quelque chose de compréhensible sur Google.
**Comment vérifier cette branche, et qu'est-ce que j'ai pu faire pour casser cela ?
UPDATE :
J'ai trouvé [ce message] (https://stackoverflow.com/questions/4181861/git-error-src-refspec-master-does-not-match-any), et l'exécution de git show-ref
me donne :
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
**Mise à jour du répertoire .git
(user_controlled_site_layouts
est dans le dossier refs/heads/feature
) :
$ ls .git/refs/heads/feature/
datts_right user_controlled_menu user_controlled_site_layouts
$ cat .git/refs/heads/feature/user_controlled_site_layouts
3af84fcf1508c44013844dcd0998a14e61455034
MISE À JOUR sur git 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"
Essayez git fetch
pour que votre dépôt local reçoive toutes les nouvelles informations de github. Il prend juste les informations sur les nouvelles branches et pas le code réel. Après cela, le git checkout
devrait fonctionner correctement.
J'ai obtenu cette erreur pour une branche qui était distante et qui n'avait pas de branche de suivi locale. Même si je suis certain d’avoir vérifié des branches distantes par le biais d’une simple vérification de l’existence d’une branche locale.
git checkout feature/foo
dans le passé, pour contourner cette erreur, j'ai dû
git checkout -t -b feature/foo origin/feature/foo
Je ne sais pas non plus ce que j'ai fait pour me mettre dans cette situation.
$ cat .git/refs/heads/feature/user_controlled_site_layouts
3af84fcf1508c44013844dcd0998a14e61455034
Pouvez-vous confirmer que ce qui suit fonctionne :
$ git show 3af84fcf1508c44013844dcd0998a14e61455034
Il se peut que quelqu'un ait réécrit l'historique et que ce commit n'existe plus (pour une raison quelconque).