Nie som si istý, prečo nemôžem odhlásiť vetvu, na ktorej som pracoval predtým. Pozri príkazy nižšie (poznámka: co
je alias pre 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.
Nie'som si istý, čo to znamená, a zdá sa, že na Googli nemôžem nájsť nič, čomu by som rozumel.
Ako mám odhlásenie tejto vetvy vykonať a čo som mohol urobiť, aby som to porušil?
DOPLNENIE:
Našiel som tento príspevok a po spustení git show-ref
mi to dáva:
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
UPDATE on .git
directory (user_controlled_site_layouts
je v priečinku 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
UPDATE na 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"
Skúste git fetch
, aby váš lokálny repozitár dostal všetky nové informácie z githubu. Preberá len informácie o nových vetvách a žiadny skutočný kód. Potom by mal git checkout
fungovať bez problémov.
Túto chybu som dostal pre vetvu, ktorá bola vzdialená a nemala žiadnu miestnu sledovaciu vetvu. Aj keď som si istý, že som vzdialené vetvy skontroloval pomocou jednoduchého
git checkout feature/foo
v minulosti, aby som túto chybu obišiel, musel som
git checkout -t -b feature/foo origin/feature/foo
Netuším, čo som urobil, aby som sa dostal do tejto situácie.
$ cat .git/refs/heads/feature/user_controlled_site_layouts
3af84fcf1508c44013844dcd0998a14e61455034
Môžete potvrdiť, že nasledujúci postup funguje:
$ git show 3af84fcf1508c44013844dcd0998a14e61455034
Môže sa stať, že niekto prepísal históriu a táto revízia už neexistuje (naozaj z akéhokoľvek dôvodu).