Nie jestem pewien, dlaczego nie mogę wyewidencjonować oddziału, nad którym wcześniej pracowałem. Zobacz poniższe polecenia (uwaga: co
to alias dla 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 jestem pewien, co to znaczy, i nie mogę znaleźć niczego, co mogę zrozumieć w Google.
Jak mogę sprawdzić tę gałąź i co mogę zrobić, aby to złamać?
AKTUALIZACJA :
Znalazłem ten post , a bieganie git show-ref
daje mi:
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
AKTUALIZACJA w .git
katalogu ( user_controlled_site_layouts
znajduje się w 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
Aktualizować 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"
git checkout refs/heads/user_controlled_site_layouts
?git branch -a
ale nie wgit show-ref
. Czy plik.git/refs/heads/feature/user_controlled_site_layout
faktycznie istnieje? Jeśli tak, cocat .git/refs/heads/feature/user_controlled_site_layout
daje?Odpowiedzi:
Spróbuj
git fetch
, aby lokalne repozytorium pobierało wszystkie nowe informacje z github. Po prostu pobiera informacje o nowych oddziałach i nie ma rzeczywistego kodu. Po tymgit checkout
powinno działać dobrze.źródło
git fetch
przydaje się, gdy potrzebujesz zsynchronizować lokalne repozytorium ze zdalnym repozytorium, ale nie chcesz scalać zmian w folderze roboczym.git checkout Branch
nie działa. W przypadku wielu pilotów tylko nazwa oddziału jest niejednoznaczna i wymaga specyfikacji zdalnego / oddziału. Poleceniegit checkout -b branch remote/branch
działa w tym scenariuszu.git fetch
mógł wykonać pracę. Ale zdalne pobranie wszystkich gałęzi może się nie powieść. Musisz ustawić wzorzec dopasowania pobierania.git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
patrz: stackoverflow.com/questions/11623862/…Ten błąd pojawiał się, gdy próbowałem pobrać nowy oddział:
Kiedy próbowałem
git checkout origin/<BRANCH-NAME>
, otrzymałem odłączoną GŁOWĘ:Wreszcie wykonałem następujące czynności, aby rozwiązać problem :
źródło
git checkout --track origin/staging fatal: git checkout: --track and --no-track require -b
wersja git 1.5.6.5git checkout -b staging --track origin/staging
Wystąpił ten błąd dla oddziału, który był zdalny i nie miał lokalnego oddziału śledzenia. Chociaż jestem pewien, że sprawdziłem zdalne oddziały za pomocą prostego
w przeszłości, aby obejść ten błąd, musiałem
Nie mam też pojęcia, co zrobiłem, aby znaleźć się w takiej sytuacji.
źródło
fetch = +refs/heads/*:refs/remotes/origin/*
wiersz, aby pasował do nowej nazwy zdalnego. LOL. Może stało się to z Makandrą? ponieważ po naprawieniu, sprawdzanie gałęzi po raz kolejny pobiera ją od pochodzenia, mimo że mam wiele pilotów.Jeśli usunąłeś gałąź
git branch -D yourbranchname
i ponownie ściągnąłeś / sklonowałeś swoje repozytorium, być może będziesz musiał ponownie utworzyć swój lokalny oddział.Próbować:
źródło
Mam te same pytania i otrzymałem informacje z tego linku: git fetch nie pobiera wszystkich gałęzi
Teraz mogę nie być pewien, jak to się stało, a przynajmniej możemy to rozwiązać:
Krok 1. Sprawdź ustawienie „remote.origin.fetch”, powinno być tak
Krok 2. Zmień „remote.origin.fetch”, aby pobrać wszystko
Następnie możesz wypróbować polecenie „git pull” (może „git fetch origin” również działa, ale nie próbowałem), aby uzyskać całą gałąź.
źródło
Uwaga: użytkownicy Git Windows - bez ustawienia
--icase-pathspecs
lubGIT_ICASE_PATHSPECS = 1
env var , w specyfikacjach ścieżki git rozróżniana jest wielkość liter, w takim przypadkuto nie to samo co
źródło
--icase-pathspecs
parametr musi być pierwszy lub przynajmniej wcześniej-C <path>
Jeśli nazwa gałęzi i nie masz żadnego niezaangażowanego pliku, spróbuj tego
źródło
Napotkałem problem przy zmianie oddziału.
Zrobiłem próbę ściągnięcia bieżącej gałęzi, a następnie spróbowałem sprawdzić nową i działała
git pull // on your old branch git checkout <new_branch>
źródło
git pull
coś więcej niż tylko ciągnięcie obecnej gałęzi?To po prostu to naprawiło dla mnie :)
źródło
Mam ten sam problem, ponieważ użyłem
git clone --depth=1
, co oznacza--single-branch
.Wykonanie zakończone
git clone
naprawi to.źródło
Dostałem to, gdy wykonałem następujące czynności:
Kiedy próbowałem sprawdzić w katalogu, dostałem ten błąd.
Naprawić:
Otworzyłem repo w rozszerzeniach git. Widziałem, że plik (o starej nazwie) został zainscenizowany. Ale ponieważ już nie istniał, nie można go było popełnić.
Po prostu rozpakowałem ten plik.
Następnie ponownie dodałem plik (tym razem poprawnie nazwany) do git i zatwierdziłem bez błędów.
źródło
Miałem ten problem dzisiaj starałem się
git checkout foo
, aleerror: pathspec 'foo' did not match any file(s) known to git.
Okazuje się, że miałem złe repozytorium . Więc wyciągnięta lekcja: sprawdź, które repozytorium oglądasz, zanim zaczniesz wariować.
źródło
Najpierw sprawdź gałąź nadrzędną kasy, a następnie wpisz
Mam nadzieję, że to pomoże!.
źródło
Naprawiłem to, modyfikując plik konfiguracyjny git. Sprawdź plik konfiguracyjny w katalogu git -
.git\config
Wcześniej miał
Naprawiłem, modyfikując go do
Zauważ, że głowa wskazywała tylko na jedną gałąź, więc nie mogła znaleźć odniesienia do innych istniejących gałęzi, zmieniłem ją na *, więc sprawdza wszystko, co pochodzi.
źródło
Wystąpił ten błąd podczas próby pobrania oddziału za pośrednictwem:
których wcześniej nie sprawdzałem. Działa tylko wtedy, gdy jawnie podaje pilot:
Powodem tego było to, że miałem 2 różne piloty (origin + sth. Else) skonfigurowane w git config. Ponieważ nie potrzebowałem drugiego pilota, usunąłem go i voila, zadziałało. Alternatywą do ustawienia domyślnego pilota za pomocą:
nie działało dla mnie
źródło
W systemie operacyjnym Windows domyślnie instalowany jest git
Oznacza to, że w plikach repozytorium git nie będzie rozróżniana wielkość liter, aby to zmienić, należy wykonać:
możesz znaleźć tę konfigurację w pliku .git \ config
źródło
Skopiowałem zdalne pochodzenie
url
z innego.git/config
pliku, dzięki czemu w nowym.git/config
pliku brakowało następującego wiersza w[remote "origin"]
sekcjiNaprawiono dodawanie powyżej linii
error: pathspec 'master' did not match any file(s) known to git.
źródło
Miałem ten sam problem. Myślałem, że mam nazwę oddziału,
foo
gdy próbuję:Dostawałem:
Potem wypróbowałem pełną nazwę oddziału:
potem pracował dla mnie.
źródło
Jeśli tak się dzieje w systemie Windows, prawdopodobnie jest to kwestia wielkości liter.
Miałem dzisiaj ten błąd - utworzyłem nowy plik, dodałem do GIT, następnie zmieniłem jedną literę w nazwie pliku z dolnej na górną, a potem nie mogłem nic - zatwierdzić, przywrócić, usunąć plik z repozytorium.
Jedynym rozwiązaniem, jakie znalazłem, była zmiana nazwy pliku z powrotem na dokładnie ten sam przypadek, gdy dodałem ten plik do GIT, a następnie przywrócenie GIT w celu usunięcia tego pliku z GIT, a następnie zmiana nazwy pliku ponownie, jak chcę. Po tych zmianach mogłem zobowiązać się do repozytorium, a następnie wypychać bez żadnego problemu.
źródło
git mv
. Chyba zrobiłeś to w ten sposób, ponieważ nie udało mi się to za pośrednictwem mojego IDE (IntelliJ PhpStorm) ...W moim przypadku mam DWA oddział 1) master (który jest dla serwera na żywo) 2) dev (serwer testowy). Ustawiłem wiele pilotów do wypychania kodu na odpowiednim serwerze. Kiedy próbowałem zmienić gałąź, dostałem błąd jak
error: pathspec 'master' did not match any file(s) known to git.
Możesz je zobaczyć według
git remote -v
. Usunąłem innego pilota opróczorigin
pilota przezgit remote remove <remote-name>
Następnie
git fetch
Teraz jestem w stanie dokonać zakupu oddziału przez
git checkout <branch-name>
.źródło
Ten sam problem napotkałem, kiedy pierwszy raz bawiłem się z git. Podczas próby pierwszego zatwierdzenia ...
Dostałem błąd wspomniany przez PO ...
Myślałem, że mogłem pomylić git, używając słowa kluczowego w komunikacie zatwierdzenia, więc wypróbowałem kilka innych słów i otrzymałem ten sam błąd.
Wreszcie w wiadomości użyłem podwójnych cudzysłowów ...
Okazało się to sukcesem ...
źródło
Popełniłem głupi błąd, nie podając flagi -m podczas zatwierdzania (zdarza się lol)
źródło
Miałem inną pierwotną przyczynę
Miałem skrypt, który w zasadzie przeszukuje wszystkie gałęzie pasujące do klucza wydania Jira w „PRJ-1234” wśród wszystkich gałęzi, aby wykonać polecenie kasowania gałęzi git na pasującej gałęzi
Problem w moim przypadku polegał na tym, że 2 lub więcej gałęzi współużytkowało ten sam klucz Jira i dlatego spowodował błąd mojego skryptu z wyżej wymienionym błędem
Usunięcie starej nieużywanej gałęzi i upewnienie się, że tylko jedna gałąź ma odniesienie do klucza Jira, rozwiązało problem
Oto mój kod na wypadek, gdyby ktoś chciał go użyć
zapisz to jako
switchbranch.sh
Następnie użyj go z terminala
./switchbranch.sh PRJ-1234
źródło
Żadna z tych odpowiedzi nie rozwiązała mojego problemu:
Próbowałem wrócić i zbudować zatwierdzenie
Version object v2.0.1
. Na szczęście wpadłem na pomysł wypróbowania całego kodu skrótu i zadziałało! Co oznacza, że użyłem niewłaściwego końca kodu skrótu.Jak pokazano powyżej, w przypadku częściowych kodów skrótu należy podać interfejs użytkownika, a nie zaplecza.
źródło
Zdarzyło mi się po zmianie nazwy niezaangażowanego pliku w Android Studio.
Wydawało się, że Git ma starą wersję w swoim repozytorium, nawet jeśli już nie istnieje.
Więc otworzyłem Git GUI TortoiseGit, który pokazał mi dokładny plik, który spowodował problemy.
Następnie usunąłem plik z repozytorium za pomocą
i problem zniknął
źródło
W moim przypadku zmieniłem nazwę pliku, zmieniając wielkość liter pliku, tj. SomeFile.js -> someFile.js
Myślę, że to było związane z problemem. Wykonanie pobrania git nie rozwiązało problemu.
Wyprowadziłem pliki z mojego projektu, wykonałem pobieranie i wykonałem push bez nich. Potem zrobiłem pobranie, dodałem je z powrotem i wykonałem push, i zadziałało. Nie wiem, czy wszystkie te kroki były potrzebne, ale ostatecznie zadziałało.
źródło
w moim przypadku wchodzę do katalogu podmodułów bez robienia tego
git submodule init
git submodule update
Tak więc git został połączony z folderem nadrzędnym, który rzeczywiście nie trafił w tę gałąź.
źródło
sprawdź, czy nie jest to literówka w nazwie pliku docelowego. Próbowałem pisać na scenę
Ale nie zauważyłem, że używam dwóch kropek, ale potem piszę
To działa
źródło
Dla mnie to był problem z moimi danymi uwierzytelniającymi
Po wypróbowaniu niektórych odpowiedzi jedna z nich pomogła mi rozwiązać problem:
Uruchomienie
git fetch
zgłosiło następujący błąd:Wszystko, co musiałem zrobić, to zmusić moje IDE (w moim przypadku kod VS) do zapamiętania moich poświadczeń:
Git natychmiast zsynchronizował wszystkie zmiany i
git checkout <branche>
działa teraz dobrze!źródło
Tak samo było
pathspec error
na git-bash. Użyłem Tortoise git w systemie Windows, aby przełączyć / sprawdzić kasę.źródło