Git: dal teslim edilemiyor - hata: pathspec '…' git olarak bilinen hiçbir dosyayla eşleşmedi


707

Daha önce üzerinde çalıştığım bir şubeyi neden kontrol edemediğimden emin değilim . Aşağıdaki komutlara bakın (not: coiçin bir takma addır 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.

Bunun ne anlama geldiğinden emin değilim ve Google'da anlayabileceğim bir şey bulamıyorum.

O şubeyi nasıl kontrol edebilirim ve bunu kırmak için ne yapabilirdim?

GÜNCELLEME :

Bu gönderiyi buldum ve koşmak git show-refbana şunu veriyor:

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

.gitDizindeki GÜNCELLEME ( user_controlled_site_layoutsiçinde 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

GÜNCELLEME tarihinde 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"


Aşağıdakileri yaparsanız çalışır mı git checkout refs/heads/user_controlled_site_layouts?
Mark Longair

2
Mark - hayır, yine de aynı hatayı alıyorum.
Ramon Tayag

1
Güncellemenizi görünce, içinde görünen, git branch -aancak görünmeyen bir şubeniz olduğundan emin değilim git show-ref. Dosya .git/refs/heads/feature/user_controlled_site_layoutgerçekten var mı? Eğer öyleyse, ne cat .git/refs/heads/feature/user_controlled_site_layoutverir?
Mark Longair

1
Aynı hatayı aldım, şubeyi başka bir repodan oluşturdum ve o dalı başka bir repo için kontrol etmeye çalıştım. Farklı depolar yüzünden anladım.
Kushan Gunasekera

Yanıtlar:


950

Deneyin git fetchyerel depo github tüm yeni bilgi alır böylece. Sadece yeni şubeler hakkında bilgi alır ve gerçek kod yoktur. Bundan sonra git checkoutiyi çalışmalıdır.


19
Daha fazla açıklama için, git fetchuzaktan depo ile yerel depoyu senkronize etmek gerekir, ancak ne zaman yararlıdır yok senin çalışma klasöre değişiklikleri birleştirmek istiyorum.
Mark Lakata

140
Birden fazla uzaktan kumanda ile bir klon durumunda, git checkout Branchçalışmaz. Birden fazla uzaktan kumanda ile sadece Şube adı belirsizdir ve uzak / şubenin özelliklerini gerektirir. Komut git checkout -b branch remote/branchbu senaryoda çalışır.
Umair Ishaq

1
Bir şekilde yerel bir "master" oluşturmayı başardım, bu yüzden "git fetch" beni yaklaştırsa da, uzak master'a geçmeden önce yerel master'ımı ("git branch -d master") silmek zorunda kaldım ("git checkout" usta"). Benim gibi aptal olan herkese yardımcı olması durumunda!
Jamie Brown

1
@ Aleks kabul edilen cevap değil çünkü OP'nin sorusuyla hiçbir ilgisi yok. Artık yerel olarak kontrol ettiği (yani oluşturduğu) bir şubeyi kontrol edemedi . Farklı, çok daha temel bir sorunu olan diğer kişilerin bu cevabı buldukları ve destekledikleri için (bu tamamen önemsizdir ve iki günden fazla deneyime sahip herhangi bir git kullanıcısı tarafından iyi bilinir) OP'nin kabul etmesi gerektiği anlamına gelmez.
Michael Johnston

12
git fetchişi yapabilirdi. Ancak tüm şubeleri uzaktan almak başarısız olabilir. Getirme eşleme düzenini ayarlamanız gerekir. git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"bakın: stackoverflow.com/questions/11623862/…
Jichao

363

Yeni şubeyi kontrol etmeye çalıştığımda bu hatayı alıyordum:

hata: pathspec 'BRANCH-NAME' git olarak bilinen hiçbir dosyayla eşleşmedi.

Denediğimde git checkout origin/<BRANCH-NAME>, müstakil HEAD'i aldım:

(başlangıç ​​noktasından bağımsız /)

Son olarak, sorunu çözmek için aşağıdakileri yaptım :

git remote update
git fetch 
git checkout --track origin/<BRANCH-NAME>

15
Bu "checkout" komutuyla şu iletiyi alıyorum: ölümcül: Yollar güncellenemiyor ve aynı zamanda 'foo' dalına geçilemiyor.
NEOline

1
Uzak adresi manuel olarak değiştirdikten sonra yeni şubelere ödeme yapamadım. "git uzaktan güncelleme" hile gibi görünüyordu.
martin

"git uzaktan güncelleme" olmadan işe yaramadı. Teşekkürler!
Kristiyan Tsvetanov

git checkout --track origin/staging fatal: git checkout: --track and --no-track require -bgit sürüm 1.5.6.5
Ivan Borshchov

Sonraki komut yerine ikinci komut kullanıldıgit checkout -b staging --track origin/staging
Ivan Borshchov

152

Uzak ve yerel izleme dalı olmayan bir şube için bu hatayı aldım. Her ne kadar emin olsam da uzak dalları basit bir şekilde kontrol ettim

git checkout feature/foo

geçmişte, bu hatayı aşmak için

git checkout -t -b feature/foo origin/feature/foo

Kendimi de bu duruma sokmak için ne yaptığım hakkında hiçbir fikrim yok.


1
Ne yazık ki, uzak git sunucusuna itmedim.
Ramon Tayag

Bu benim için çalıştı. FC10 makinesinde git v 1.6'da oldu.
FractalSpace

26
Git genellikle uzak dalı kontrol etmek için tahmin eder, ancak birden fazla uzaktan kumanda kullanırken, artık bunu yapamayacak gibi görünüyor. Kaynak: makandracards.com/makandra/…
Elijah Lynn

1
benim için çalıştı git checkout özelliği / foo yerine git checkout yapmak foo
Alejandro Moreno

bu bana başladı (3 yıldır başarılı bir şekilde dalları kökten kontrol ettiğim yüzlerce daldan oluşan bir repoda) ve gizemlendim. İnceleme üzerine, yeni bir uzaktan kumanda eklediğimi keşfettim ve git komutunu kullanmak yerine bir metin düzenleyicide kopyala / yapıştır ile yaptım ve fetch = +refs/heads/*:refs/remotes/origin/*satırı yeni uzak adla eşleşecek şekilde değiştirmeyi unuttum . LOL. Belki bu makandra'ya oldu? çünkü düzelttikten sonra, birçok uzaktan kumandam olmasına rağmen şubeyi bir kez daha kontrol etmek kökeni alıyor.
Michael Johnston

91

Deponuzu içeren bir dalı sildiyseniz git branch -D yourbranchnameve repo'nuzu tekrar çektiyseniz / yeniden klonladıysanız, yerel şubenizi yeniden oluşturmanız gerekebilir.

Deneyin:

git checkout -b yourbranchname

Bu seçenek, dosyalar zaten değiştirilmiş olsa bile her zaman çalışır ve bunları yeni oluşturulan şubeye itmek istersiniz.
Nerius Jok

Bu yardımcı bir yorum oldu çünkü burada OP ile aynı sorunu / soruyu paylaşırken, verilen cevaplar basit bir durum varsaydı. Ne yazık ki, benim durumumda, daha önce SADECE bir yerel şube oluşturdum, sonra @Francisco Alvarez tarafından burada belirtildiği gibi sildim, bu yüzden burada diğer çözümleri nasıl denesem de, yeni uzak dalı çekemedim. Bu cevap pastırmamı kurtardı.
David

61

Aynı sorularım var ve bu bağlantıdan bazı bilgiler aldım: git fetch tüm dalları getirmiyor

Şimdi, bu durumun nasıl olduğundan emin olmayabilirim, en azından çözebiliriz:

1. Adım . "Remote.origin.fetch" ayarınızı kontrol edin, şöyle olmalıdır

$ git config - remote.origin.fetch dosyasını al

+ Ref / kafa / private_dev_branch: ref / uzaktan kumanda / kökenli / private_dev_branch

2. Adım. Her şeyi almak için "remote.origin.fetch" dosyasını değiştirin

$ git config remote.origin.fetch "+ refs / heads / *: refs / uzaktan kumandalar / origin / *"

$ git config - remote.origin.fetch dosyasını al

+ Hakemler / kafaları / *: ref / uzaktan kumanda / köken / *

Sonra, "git pull" deneyebilirsiniz (belki "git fetch origin" da çalışır ama ben denemedim) tüm şube almak için.


@onionjake haklı, her ayrıntıda soruları kontrol etmediğim için üzgünüm. Sadece "git checkout <existed_branch>" ile aynı eylemi denerken aynı hata mesajlarını aldım, fakat orginator'ın probleminden farklı ----- orginator yapamadığımda şubeyi yerel olarak görebiliyordu. Cevabım, tüm dalları önceden getirmeyen sorunu çözebilir. Ancak, yaratıcısının sorunu için durum değil.
bearzyj

3
Benim dahil birçok insan bu hatayı alır, çünkü --branch bayrağı ile bir repo klonlayabilirler, bu nedenle, git getirmesinden sonra bile diğer dalları alamazlar ve uzaktan bir şeyden ödeme yapamazlar. Bu sorunu giderir. Teşekkürler!
ORIF Khodjaev

Çok teşekkür ederim. Tensorflow'un devel docker görüntüsünü kullanıyordum ve şubeyi belirli bir sürümle kısıtlıyor. Getirme yapılandırmasını ayarladıktan sonra artık ödeme yapabilirim.
Michael_Zhang

24

Git Windows kullanıcıları, - --icase-pathspecsveya GIT_ICASE_PATHSPECS = 1 env var ayarı olmadan, git pathspec öğelerinin büyük / küçük harfe duyarlı olacağını unutmayın; bu durumda

git checkout origin/FooBranch "Some/Path/To/File.txt"

ile aynı değil

git checkout origin/FooBranch "some/path/to/file.Txt"

1
Belgelerden net olmadığı unutulmaması gereken bir nokta, --icase-pathspecsparametrenin önce veya en azından önce gelmesi gerektiğidir-C <path>
sonyisda1

21

Şube adı ve aktarılmamış bir dosyanız yoksa, bunu deneyin

git fetch && git checkout <branch name>

Bu soru ile hiç ilgili görünmüyor mu?
onionjake

Yukarıda belirtilen aynı sorunu aldım, aşağıdaki komutları kullanarak
çözdüm

19

Şubemi değiştirirken sorunla karşılaştım.

Geçerli dalı bir git çekme yaptım ve sonra yeni bir tane kontrol etmeye çalıştı ve işe yaradı

git pull // on your old branch git checkout <new_branch>


Gerçekten yararlı :)
vikifor

Bu neden işe yarar? git pullMevcut dalı çekmekten daha fazlası var mı ?
Cameron Hudson

Bu sadece başka biri tarafından oluşturulan bir şubeden çekmeye çalıştığınız bir durum olabilir ve bu henüz mevcut deponuzda çekilmemiştir.
Ankit Marothi

15
git pull

Bu sadece benim için düzeltti :)


13

Aynı problemi aldım çünkü kullandım git clone --depth=1, yani --single-branch.

Tamamlanan bir git clonesorunu çözecektir.


Gösterdiğiniz için teşekkürler. Karşılaştığım sorun tam olarak aynı. Teşekkürler
Mukesh Kumar

Tam bir klon gerekli olmayabilir. Şube repoyu ilk kez klonladıktan SONRA başkası tarafından oluşturulmuşsa, yerel deponuzun bu yeni şube hakkında hiçbir bilgisi olmadığı için bu hatayı alırsınız. Sadece master'a geçin ve bir git çekin. Ardından yeni şubeyi kontrol etmeyi deneyin.
Yasin

12

Aşağıdakileri yaptığımda bunu aldım:

  • Git'e bağlı olarak kullanılan IntelliJ IDE
  • Yeni bir dosya oluşturdu ve git'e eklendi
  • Yeni dosyayı yeniden adlandırdı

Dizini kontrol etmeye çalıştığımda, bu hatayı aldım.

Düzeltmek:

Repoyu git uzantılarında açtım. Dosyanın (eski isimle) sahnelendiğini gördüm. Fakat artık var olmadığı için işlenemezdi.

Bu dosyayı basitçe işaretsiz bıraktım.

Sonra dosyayı (bu sefer doğru adlandırılmış) git'e yeniden ekledim ve hatasız işledim.


Komik olan şey, intellij olmasa bile hala TortoiseGit ile çalışıyor
Marian Klühspies

3
Bu bana çok yardımcı oldu. SourceTree kullanarak bir dosyanın f * ck r bulmak ve unstaged.
Vinchenzo

10

Bugün bu sorunu yaşadım git checkout foove denedimerror: pathspec 'foo' did not match any file(s) known to git.

Görünen o ki yanlış repodaydım . Böylece öğrenilen ders: korkmadan önce hangi repoya baktığınızı kontrol edin.


Ha - evet bu bendim - Jira biletinden Bitbucket'te şube oluşturdu, bazı rastgele repolarda yarattığını fark etmedi
Keir

Sidenote: Birden fazla uzaktan kumanda ile çalışıyordum, biri doğru ayarlanmıştı ve diğeri yanlış repoya işaret ediyordu. Sooo. hatırlatma için teşekkürler, bir git remote -v yaptığımda sorunumu kolayca görebiliyordum
Dreamling

9

Bir şube üzerinden ödeme yapmaya çalışırken bu hatayı aldım:

git checkout branchX

ki daha önce kontrol etmemiştim. Yalnızca uzaktan kumandayı açıkça belirtirken çalıştı:

git checkout --track origin/branchX

Bunun nedeni, git config içinde yapılandırılmış 2 farklı uzaktan kumanda (origin + sth. Else) olmasıydı. İkinci uzaktan kumandaya ihtiyacım olmadığından, kaldırdım ve voilá, işe yaradı. Varsayılan uzaktan kumandayı şu yolla ayarlamanın alternatifi:

checkout.defaultRemote=origin

benim için çalışmadı


Bu yanıtı ekledim çünkü önerilen tüm diğer cevaplar benim için işe yaramadı, bu yüzden umarım bu aynı nedene sahip birine yardımcı olur (2 uzaktan kumanda).
RS1980

8

İlk olarak, ödeme ana dalı.

git fetch --all --prune 
git checkout <your branch>

Umarım yardımcı olur!.


8

Git config dosyamı değiştirerek düzelttim Git dizininizdeki config dosyanızı kontrol edin - .git\config

Daha önce vardı

[remote "origin"]
url = http://git.xyz.com/abc-group/pqr.git
fetch = +refs/heads/develop:refs/remotes/origin/develop

Bunu değiştirerek düzelttim

[remote "origin"]
url = http://git.xyz.com/abc-group/pqr.git
fetch = +refs/heads/*:refs/remotes/origin/*

Kafanın sadece bir şubeye işaret ettiğine dikkat edin, bu yüzden mevcut diğer dallara referans bulamadı, onu * olarak değiştirdim, böylece her şeyi orijinal olarak kontrol ediyor.


Teşekkürler dostum, saatlerce çaba sarf ettim ve nihayet çözümünüze indim.
Sunil Lulla

7

Windows işletim sisteminde varsayılan olarak git

core.ignorecase = true

Bu, git repo dosyalarının büyük / küçük harfe duyarlı olmadığı anlamına gelir; bunu değiştirmek için yürütmeniz gerekir:

\yourLocalRepo> git config core.ignorecase false

bu yapılandırmayı .git \ config dosyasında bulabilirsiniz


7

Uzak menşei urlbaşka bir .git/configdosyadan kopyaladım , böylece yeni .git/configdosyam aşağıdaki [remote "origin"]bölümde eksikti

fetch = +refs/heads/*:refs/remotes/origin/*

Satır üstü ekleme düzeltildi error: pathspec 'master' did not match any file(s) known to git.


6

Ben de aynı sorunu yaşadım .. fooŞunu denediğimde bir şube olduğunu düşündüm :

git checkout foo

Ben alıyordum:

error: pathspec 'foo' did not match any file(s) known to git.

Sonra tam şube adını denedim:

git checkout feature/foo

sonra benim için çalıştı.


5

Windows'ta gerçekleşirse, muhtemelen dosya adı büyük / küçük harf sorunudur.

Bugün bu hatayı aldım - yeni dosya oluşturdum, GIT'e ekledim, sonra dosya adındaki bir harfi aşağıdan yukarıya değiştirdim ve sonra hiçbir şey yapamadım - taahhüt, geri döndür, dosyayı repo'dan sil.

Bulduğum tek çözüm, bu dosyayı GIT'e eklediğimde dosya adını tekrar aynı duruma değiştirmek, sonra GIT'i bu dosyayı GIT'den kaldırmak için geri döndürmek, daha sonra dosya adını istediğim gibi değiştirmekti. Bu değişikliklerden sonra repo yapmayı ve sonra sorunsuz bir şekilde itmeyi taahhüt edebilirim.


Bu yardımcı oldu, ancak yeniden adlandırma yoluyla yapılması belirtilmelidir git mv. Sanırım bunu bu şekilde yaptın, çünkü IDE (IntelliJ PhpStorm) ile yapmak benim için başarısız oldu ...
Dennis98

5

Benim durumumda İKİ şube 1) master (canlı sunucu için) 2) dev (test sunucusu) var. İlgili sunucuda kod göndermek için birden fazla uzaktan ayarlamıştım. Şubeyi değiştirmeye çalıştığımda hatayı aldımerror: pathspec 'master' did not match any file(s) known to git.

Onları görebilirsiniz git remote -v. originTarafından uzaktan kumanda dışında diğer uzaktan kumandayı kaldırmıştımgit remote remove <remote-name>

Sonra git fetch

Şimdi şube tarafından ödeme yapabilirsiniz git checkout <branch-name>.


5

Git ile ilk oynarken aynı sorunla karşılaştım. İlk taahhüdümü denerken ...

git commit -m 'first commit!'

OP tarafından belirtilen hatayı aldım ...

error: pathspec 'commit!'' did not match any file(s) known to git.

Git mesajında ​​bir anahtar kelime kullanarak git kafa karıştırıcı olabileceğini düşündüm, bu yüzden birkaç kelime denedim ve aynı hatayı aldım.

Sonunda mesajda çift tırnak kullandım ...

git commit -m "first commit!"

Bu başarılı oldu ...

[master (root commit) 0000000] first commit!
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 dummyDoc.txt

5

Taşırken -m bayrağı vermeme aptalca bir hata yapmıştım (lol olur)

git commit -m "commit message in here"

burada aynı durum. sadece "-m" aynı hata msj olsun unutmayın.
Niuya

5

Farklı bir kök nedenim vardı

Temelde eşleşen şube bir git şube ödeme komutu yürütmek için tüm dalları arasında "PRJ-1234" için jira sorunu anahtar eşleşen tüm dalları arar bir komut dosyası vardı

Benim durumumda sorun aynı jira anahtarını paylaşan 2 veya daha fazla şube oldu ve bu nedenle betiğim yukarıda belirtilen hata ile başarısız oldu

Kullanılmayan eski dalı silerek ve yalnızca tek bir dalda jira anahtar başvurusunun sorunu çözdüğünden emin olarak

Birisi kullanmak istemesi durumunda benim kodum

git remote update
git fetch --all --prune 
git branch -r --list *$1* | xargs git checkout --force

bunu farklı kaydet switchbranch.sh

Sonra terminalden kullanın ./switchbranch.sh PRJ-1234


Benim için de doğru yukarı akış yolu / adı ve tüm uzak etiketleri getirmeyi de içeren "git fetch --all --tags --prune" doğru adı bulmak: "git branch -a | grep some_upstream" "git checkout -f --track -b new_branch remotes / upstream / some_upstream_branch" olarak tam yolla kontrol etmeden önce
kisna

4

Bu cevapların hiçbiri sorunumu çözmedi:

Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version (master)
$ git log --format=oneline
b9cc6a9078312865280fb5432a43e17eff03a5c6 Formatted README
288772f36befe6bd60dd41b8185f1e24e0119668 Updated README documentation
d2bdbe18f4169358d46fad50eacfb89786df3bf8 Version object v3.0.0-SNAPSHOT
a46b1910a3f548b4fa254a6055d25f68d3f217dd VersionFactory is now Platform agnostic
24179ae569ec7bd28311389c0a7a85ea7b4f9594 Added internal.Platform abstraction
252b684417cf4edd71aed43a15da2c8a59c629a7 Added IPlugin implementation for Sponge
e3f8d21d6cf61ee4fc806791689c984c149b45e3 Added IPlugin implementation for Bukkit
aeb403914310b4b10dee9e980cf64472e2bfda79 Refactored Version.java
ef50efcff700c6438d57f70fac30846de2747a7e Refactored TesterFactory
a20808065878d4d28657ae362235c837cfa8e625 Added IPlugin abstraction
9712a3575a70060d7ecea8b62bb5e888fdc32d07 Heavily refactored Tester
02d025788ae740dbfe3ef76a132cea8ca4e47467 Added generic Predicate<T> interface
9c565777abea9be6767dfdab4ab94ed1173750dd Minor refactoring of testCompareTo()
2ff2a28c221681e256dcff28770782736d3a796a Version object v2.0.1
d4b2e2bd830f77cdbc2297112c2e46b6555d4393 Fix compareTo()
05fe7e012b07d1a5b8de29804f96d9a6b24229a1 Make compareTo() fail
6e85371414357a41c1fc0cec0e75adba92f96832 Fix VersionFactory passing null
c1fd1f032f87d860d5ed9d6f6679c9fa522cff8d Version object v2.0
62c3a92c008a2ed11f0a4d016080afc3541d0700 Version object v1.2
c42e9e617128085e872c51b4d977a04e48d69e8f Deprecated, doc'd, future-proofed getNm


Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version (master)
$ git checkout 3a796a
error: pathspec '3a796a' did not match any file(s) known to git.

Geri dönüp kararlılığı inşa etmeye çalışıyordum Version object v2.0.1. Neyse ki, tüm karma kodunu denemek için bir fikrim var ve işe yaradı! Bu, karma kodunun yanlış sonunu kullandığım anlamına geliyor.

Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version (master)
$ git checkout 2ff2a
Note: checking out '2ff2a'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 2ff2a28... Version object v2.0.1

Nikolai@CALIGARI-7 ~/Documents/NetBeansProjects/Version ((2ff2a28...))
$

Yukarıda gösterildiği gibi, kısmi karma kodlar için, arka ucu değil, ön ucu sağlamalısınız.


4

Android Studio'da sipariş edilmeyen bir dosyayı yeniden adlandırdıktan sonra bana oldu.

Git, artık mevcut olmasa bile, deposunda eski sürüme sahip gibi görünüyordu.

fetch, pull, checkout, add all and so on did not help in my case!

Bu yüzden bana soruna neden olan dosyayı gösteren TortoiseGit'in Git GUI'sini açtım.

Daha sonra dosyayı depodan sildim

git rm -r --cached /path/to/affected/file

ve sorun giderildi


3

Benim durumumda, dosyanın durumunu değiştiren bir dosyayı yeniden adlandırmıştım, yani SomeFile.js -> someFile.js

Bunun sorunla ilgili olduğunu düşünüyorum. Git getirmesi sorunu çözmedi.

Dosyaları projemden çıkardım, getirdim ve onlarsız bir itme yaptım. Sonra bir getirme yaptım, geri ekledim ve bir itme yaptım ve işe yaradı. Tüm bu adımların gerekli olup olmadığını bilmiyorum, ama sonuçta işe yaradı.



3

benim durumumda alt modül dizinine girmeden giriyorum

  • git submodule init
  • git submodule update

Böylece git, o dalı kaçırmış olan üst klasöre bağlandı.


3

hedef dosya adında bir yazım hatası olup olmadığını kontrol edin. Yazarak sahne almaya çalışıyordum

git add includes/connection..php

Ama iki nokta kullandığımı fark etmedim ama sonra yazıyorum

git add includes/connection.php

İşe yarıyor


2

Benim için kimlik bilgilerimle ilgili bir sorun vardı


Yanıtın bir kısmını denedikten sonra, biri sorunu çözmeme yardımcı oldu:

Çalıştırmak git fetchşu hatayı attı:

Ana bilgisayar çözülemedi: bitbucket.org

Tek yapmam gereken IDE'mi (benim durumumda VS Kodu) kimlik bilgilerimi hatırlamaya zorlamaktı:

git config --global credential.helper wincred

Git hemen tüm değişiklikleri senkronize etti ve git checkout <branche>şimdi iyi çalışıyor!


1

Aynı şeyi pathspec errorgit-bash'ta alıyordum . Tortoise git'i şubeyi değiştirmek / kontrol etmek için pencerelerde kullandım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.