Git: चेकआउट ब्रांच - एरर: pathspec नहीं कर सकता ... '' git के लिए ज्ञात किसी भी फाइल (s) से मेल नहीं खाता


707

मुझे यकीन नहीं है कि मैं उस शाखा की जांच करने में असमर्थ हूं जो मैंने पहले काम किया था। नीचे दिए गए आदेश देखें (नोट: के coलिए एक उपनाम है 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.

मुझे यकीन नहीं है कि इसका क्या मतलब है, और मुझे ऐसा कुछ भी नहीं मिल रहा है जिसे मैं Google पर समझ सकता हूं।

मैं उस शाखा की जांच कैसे करूं, और मैंने इसे तोड़ने के लिए क्या किया होगा?

अद्यतन :

मुझे यह पद मिला , और दौड़ना git show-refमुझे देता है:

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

.gitनिर्देशिका पर अद्यतन ( user_controlled_site_layoutsमें है 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

को सुधारना 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"

यह मदद हो सकती है? stackoverflow.com/questions/2527355/…
Boldewyn

यह काम करता है अगर आप ऐसा करेंगे: git checkout refs/heads/user_controlled_site_layouts?
मार्क लोंगेयर

2
निशान - नहीं, अभी भी वही त्रुटि है।
रेमन तयाग

1
आपके अपडेट को देखकर, मुझे यकीन नहीं है कि आपको एक शाखा कैसे मिल गई है जो इसमें दिखाई git branch -aनहीं देती है git show-ref। क्या फ़ाइल .git/refs/heads/feature/user_controlled_site_layoutवास्तव में मौजूद है? यदि हां, तो क्या cat .git/refs/heads/feature/user_controlled_site_layoutदेता है?
मार्क लोंगेयर

1
मुझे वही त्रुटि मिली, मैंने एक और रेपो से शाखा बनाई और उस शाखा को किसी अन्य रेपो में जांचने का प्रयास किया। इसलिए मुझे यह अलग रिपॉजिट के कारण मिला।
कुषाण गुनासेकरा

जवाबों:


949

कोशिश git fetchकरें कि आपके स्थानीय रिपॉजिटरी को जीथब से सभी नई जानकारी मिले। यह सिर्फ नई शाखाओं और कोई वास्तविक कोड के बारे में जानकारी नहीं लेता है। उसके बाद git checkoutठीक काम करना चाहिए।


19
आगे स्पष्टीकरण के लिए, git fetchउपयोगी है जब आपको दूरस्थ रिपॉजिटरी के साथ अपने स्थानीय रिपॉजिटरी को सिंक्रनाइज़ करने की आवश्यकता होती है, लेकिन आप अपने काम करने वाले फ़ोल्डर में परिवर्तनों को मर्ज नहीं करना चाहते हैं।
निशान लता

139
एकाधिक रीमोट वाले क्लोन के मामले में, git checkout Branchकाम नहीं करता है। कई रीमेक के साथ बस शाखा का नाम अस्पष्ट है और इसके लिए रिमोट / शाखा के विनिर्देश की आवश्यकता होती है। कमांड git checkout -b branch remote/branchउस परिदृश्य में काम करता है।
उमैर इशाक

1
मैंने किसी तरह एक स्थानीय "मास्टर" बनाने में कामयाबी हासिल की थी, इसलिए "git fetch" ने मुझे करीब ला दिया, मुझे अपने स्थानीय मास्टर को पहले ("git ब्रांच -d मास्टर") डिलीट करना पड़ा, रिमोट मास्टर ("git checkout) पर जाने से पहले गुरुजी")। मामले में जो किसी और की मदद करता है जो मेरे जितना मूर्ख है!
जेमी ब्राउन

1
@ एलेक्स इसका स्वीकार्य उत्तर नहीं है क्योंकि इसका ओपी के सवाल से कोई लेना- देना नहीं है। वह अब उस शाखा की जाँच नहीं कर सकता था जिसे वह पहले स्थानीय स्तर पर जाँच (यानी निर्मित) कर चुका था । सिर्फ इसलिए कि एक अलग, बहुत अधिक बुनियादी समस्या वाले अन्य लोगों ने इस उत्तर को खोजा और उतारा है (जो दो दिनों से अधिक के अनुभव वाले किसी भी गिट उपयोगकर्ता के लिए पूरी तरह से तुच्छ और अच्छी तरह से जाना जाता है) का मतलब यह नहीं है कि ओपी को इसे स्वीकार करना चाहिए।
माइकल जॉनसन

12
git fetchकाम कर सकता था। लेकिन यह सभी शाखाओं को रिमोट से प्राप्त करने में विफल हो सकता है। आपको माचिस का पैटर्न सेट करना होगा। git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"देखें: stackoverflow.com/questions/11623862/…
Jichao

363

जब मैंने नई शाखा की जाँच करने की कोशिश की तो मुझे यह त्रुटि मिली:

त्रुटि: pathspec 'BRANCH-NAME', git के लिए ज्ञात किसी भी फ़ाइल (नों) से मेल नहीं खाता।

जब मैंने कोशिश की git checkout origin/<BRANCH-NAME>, तो मुझे अलग-थलग पड़ गया:

(मूल से अलग /)

अंत में, मैंने इस मुद्दे को हल करने के लिए निम्नलिखित किया :

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

15
इस "चेकआउट" कमांड के साथ मेरे पास यह संदेश है: घातक: अपडेट पथ नहीं कर सकते हैं और एक ही समय में शाखा 'फू' पर स्विच कर सकते हैं।
NEOline

1
दूरस्थ पते को मैन्युअल रूप से संशोधित करने के बाद, मैं नई शाखाओं की जांच नहीं कर सका। "git रिमोट अपडेट" ट्रिक करने के लिए लग रहा था।
मार्टिन

बिना "git रिमोट अपडेट" के यह काम नहीं किया। धन्यवाद!
क्रिस्टियान त्सिवानोव

git checkout --track origin/staging fatal: git checkout: --track and --no-track require -bgit संस्करण 1.5.6.5
इवान

तीसरे आदेश के बजाय अगली बार प्रयुक्तgit checkout -b staging --track origin/staging
इवान बोरशचोव

152

मुझे यह शाखा एक ऐसी शाखा के लिए मिली जो दूरस्थ थी और जिसकी कोई स्थानीय ट्रैकिंग शाखा नहीं थी। हालांकि मैं निश्चित हूँ कि मैंने एक सरल माध्यम से दूरस्थ शाखाओं की जाँच की है

git checkout feature/foo

अतीत में, मुझे इस त्रुटि के आसपास जाना था

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

मुझे नहीं पता कि मैंने खुद को उस स्थिति में लाने के लिए क्या किया।


1
दुर्भाग्य से, मैंने इसे दूरस्थ गिट सर्वर पर नहीं धकेला।
रेमन तयाग

इसने मेरे लिए काम किया। यह FC10 मशीन पर git v 1.6 पर हुआ।
FractalSpace

26
Git आमतौर पर दूरस्थ शाखा की जांच करने के लिए अनुमान लगाता है, लेकिन एक से अधिक रिमोट का उपयोग करते समय, ऐसा लगता है कि यह अब ऐसा नहीं कर सकता है। स्रोत: makandracards.com/makandra/…
एलिजा लिन

1
Git चेकआउट सुविधा के बदले git चेकआउट सुविधा / foo करना मेरे लिए काम किया
Alejandro Moreno

यह मेरे साथ होने लगा (एक रेपो में, जिसमें कई रिमूव और सैकड़ों शाखाएँ थीं, जहाँ से मैं 3 वर्षों से मूल रूप से शाखाओं की जाँच कर रहा था) और मुझे ऐसा महसूस हुआ। निरीक्षण करने पर, मुझे पता चला कि मैंने एक नया रिमोट जोड़ा है और मैंने इसे git कमांड का उपयोग करने के बजाय एक टेक्स्ट एडिटर में कॉपी / पेस्ट के साथ किया है, और fetch = +refs/heads/*:refs/remotes/origin/*नए रिमोट नाम से मिलान करने के लिए लाइन बदलना भूल गया । जबरदस्त हंसी। शायद यह मेकेंड्रा के लिए हुआ था? क्योंकि इसे ठीक करने के बाद, एक बार फिर शाखा की जाँच करने से यह मूल रूप से प्राप्त होता है, भले ही मेरे पास कई उपाय हैं।
माइकल जॉनसन

91

यदि आपने git branch -D yourbranchnameअपनी रेपो के साथ एक शाखा को हटा दिया और फिर से क्लोन / क्लोन किया, तो आपको फिर से अपनी स्थानीय शाखा बनाने की आवश्यकता हो सकती है।

प्रयत्न:

git checkout -b yourbranchname

यह विकल्प हमेशा काम करता है, यहां तक ​​कि जहां फाइलें पहले से ही बदल गई हैं और आप उन्हें नई बनाई गई शाखा में धकेलना चाहते हैं।
नेरियस जोक

यह एक उपयोगी टिप्पणी थी क्योंकि जब मैंने ओपी के रूप में एक ही समस्या / प्रश्न साझा किया था, तो उत्तर दिए गए प्रश्नों ने एक सीधी स्थिति मान ली थी। दुर्भाग्य से, मेरी स्थिति में, मैंने पहले केवल एक स्थानीय शाखा बनाई थी, फिर इसे @Francisco Alvarez द्वारा यहां नोट किया गया था, इसलिए कोई फर्क नहीं पड़ता कि मैंने यहां अन्य समाधान कैसे आज़माए, मैं नई दूरस्थ शाखा नहीं खींच सका। इस जवाब ने मेरी बेकन को बचा लिया।
डेविड

61

मेरे पास एक ही प्रश्न हैं, और इस लिंक से कुछ जानकारी मिली है: git fetch सभी शाखाओं को नहीं लाता है

तो अब, मुझे यकीन नहीं है कि यह स्थिति कैसे हुई, कम से कम हम इसे हल कर सकते हैं:

चरण 1. अपने "Remote.origin.fetch" सेटिंग की जाँच करें, इस तरह होना चाहिए

$ git config --get Remote.origin.fetch

+ Refs / सिर / private_dev_branch: refs / रिमोट / मूल / private_dev_branch

चरण 2. सब कुछ लाने के लिए "Remote.origin.fetch" बदलें

$ git config Remote.origin.fetch "+ refs / heads / *: refs / remotes / origin / *"

$ git config --get Remote.origin.fetch

+ Refs / सिर / *: refs / रिमोट / मूल / *

फिर, आप "git पुल" (शायद "git fetch Origin") भी काम कर सकते हैं, लेकिन मैंने कोशिश नहीं की) सभी शाखा प्राप्त करने के लिए।


@onionjake सही है, क्षमा करें कि मैंने हर विवरण में प्रश्नों की जांच नहीं की। "गिट चेकआउट <अस्तित्व_ब्रांच>" की समान कार्रवाई की कोशिश करते हुए मुझे बस एक ही त्रुटि संदेश मिला, लेकिन मूल रूप से मूल समस्या से अलग ----- प्रवर्तक स्थानीय रूप से शाखा देख सकता है जबकि मैं नहीं कर सकता। मेरा उत्तर उस समस्या को हल कर सकता है जिसके लिए उन्नत में सभी शाखाएँ नहीं लाईं। लेकिन प्रवर्तक की समस्या के लिए स्थिति नहीं।
भालूजी

3
मेरे सहित कई लोग इस त्रुटि को प्राप्त करते हैं, क्योंकि वे - रेपंच ध्वज के साथ एक रेपो क्लोन कर सकते हैं, इसलिए, गिट लाने के बाद भी उन्हें अन्य शाखाएं नहीं मिलती हैं और रिमोट से कुछ भी चेकआउट नहीं कर सकते हैं। यह इस समस्या को हल करता है। धन्यवाद!
ओरिफ खोदाजेव

आपका बहुत बहुत धन्यवाद। मैं टेंसरफ़्लो की डेवेल डॉकटर छवि का उपयोग कर रहा था, और यह शाखा को कुछ निश्चित संस्करण तक सीमित करता है। भ्रूण विन्यास स्थापित करने के बाद, अब मैं चेकआउट कर सकता हूं।
माइकल_ झांग 3

24

Git Windows उपयोगकर्ता सावधान रहें - बिना --icase-pathspecsया GIT_ICASE_PATHSPECS = 1 env var सेटिंग के , वह git pathspecs केस-संवेदी होगा, जिस स्थिति में

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

के रूप में ही नहीं है

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

1
ध्यान देने वाली एक बात जो प्रलेखन से स्पष्ट नहीं थी, वह यह है कि --icase-pathspecsपैरामीटर को पहले या कम से कम आने की जरूरत है-C <path>
sonyisda1

21

यदि शाखा का नाम और आपके पास कोई फ़ाइल नहीं है, तो यह प्रयास करें

git fetch && git checkout <branch name>

यह प्रश्न से संबंधित नहीं प्रतीत होता है?
प्याजजेक

मुझे ऊपर उल्लेखित एक ही मुद्दा मिला, निम्नलिखित आदेशों का उपयोग करके हल किया गया
सजिन एम अबोब्कर

19

मुझे अपनी शाखा स्विच करते समय समस्या का सामना करना पड़ा।

मैंने करंट ब्रांच पर एक जिट पुल किया और फिर नए को चेक करने की कोशिश की और यह काम कर गया

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


वास्तव में उपयोगी :)
vikifor

यह काम क्यों करेगा? क्या git pullवर्तमान शाखा को खींचने से अधिक है?
कैमरून हडसन

यह सिर्फ एक मामला हो सकता है कि आप किसी और द्वारा बनाई गई शाखा से खींचने की कोशिश कर रहे हैं और यह अभी तक आपके वर्तमान रेपो में नहीं खींची गई है।
अंकित मारोठी


13

मुझे वही समस्या मिली क्योंकि मैंने इस्तेमाल किया git clone --depth=1, जिसका मतलब है --single-branch

एक पूरा करो git cloneइसे ठीक कर देंगे।


इस पर ध्यान दिलाने के लिए धन्यवाद। यह ठीक वैसा ही मुद्दा है जिसका मैं सामना कर रहा था। धन्यवाद
मुकेश कुमार

एक पूर्ण क्लोन की आवश्यकता नहीं हो सकती है। यदि शाखा किसी और के द्वारा बनाई गई है, तो आपके द्वारा मूल रूप से रेपो पर क्लोन करने के बाद, आपको यह त्रुटि मिलती है क्योंकि आपके स्थानीय रेपो को इस नई शाखा के बारे में कोई जानकारी नहीं है। बस मास्टर पर स्विच करें और एक गिट पुल करें। फिर नई शाखा की जांच करने का प्रयास करें।
यासीन

12

जब मैंने निम्नलिखित किया तो मुझे यह मिला:

  • इंटेलीज आईडीई का उपयोग, गिट से जुड़ा
  • एक नई फ़ाइल बनाई, और गिट में जोड़ा
  • नई फ़ाइल का नाम दिया

जब मैंने निर्देशिका में जांच करने का प्रयास किया, तो मुझे यह त्रुटि मिली।

तै होना:

मैंने git एक्सटेंशन में रेपो खोला। मैंने देखा कि फ़ाइल (पुराने नाम के साथ) का मंचन किया गया था। लेकिन चूंकि यह अब मौजूद नहीं है, इसलिए यह प्रतिबद्ध नहीं हो सका।

मैंने बस इस फ़ाइल को अनस्ट्रेड किया है।

फिर मैंने फ़ाइल को (इस बार सही ढंग से नाम दिया गया) फिर से गिट में जोड़ा और त्रुटियों के बिना प्रतिबद्ध किया।


मजेदार बात यह है, यह अभी भी कछुआ के साथ काम करता है, भले ही यह
इंटेलीज

3
इसने मेरी बहुत मदद की। मैंने SourceTree का उपयोग एक फ़ाइल के उस f * ck r को खोजने के लिए किया और उसे अनस्ट्रेस्ड किया।
विनचेनो

10

मुझे आज यह समस्या थी git checkout fooऔर मैं कोशिश कर रहा थाerror: pathspec 'foo' did not match any file(s) known to git.

यह पता चला है कि मैं गलत रेपो में था । तो सबक सीखा: जाँच करें कि आप कौन से रेपो को देख रहे हैं, जिससे आप बाहर निकल रहे हैं।


हा - हाँ यह मेरे था - Jira टिकट से Bitbucket में बनाया शाखा, यह कुछ यादृच्छिक रेपो में यह बनाया नोटिस नहीं किया था
Keir

sidenote: मैं कई रीमोट के साथ काम कर रहा था, एक में ठीक से सेट था, और दूसरा गलत रेपो की ओर इशारा कर रहा था। sooo। अनुस्मारक के लिए धन्यवाद, मैं आसानी से अपना मुद्दा देख सकता था जब मैंने जीआईटी रिमोट किया था -v
ड्रीमिंग

9

मुझे यह त्रुटि तब मिली जब मैं इसके माध्यम से एक शाखा की जाँच करने की कोशिश कर रहा था:

git checkout branchX

जो मैंने पहले चेक आउट नहीं किया था। यह केवल तब काम करता है जब स्पष्ट रूप से रिमोट को बताया जाता है:

git checkout --track origin/branchX

इसका कारण यह था, कि मेरे पास 2 अलग-अलग रीमोट्स (उत्पत्ति + sth। बाकी) git config में कॉन्फ़िगर किए गए थे। जैसा कि मुझे दूसरे रिमोट की आवश्यकता नहीं थी, मैंने इसे हटा दिया और वॉयला, यह काम किया। के माध्यम से डिफ़ॉल्ट रिमोट सेट करने का विकल्प:

checkout.defaultRemote=origin

मेरे लिए काम नहीं किया


मैंने इस उत्तर को जोड़ा क्योंकि अन्य सभी सुझाए गए उत्तर मेरे लिए काम नहीं करते थे, इसलिए मुझे आशा है कि यह किसी को उसी कारण से मदद करता है (2 उपाय)।
11:19 बजे RS1980

8

सबसे पहले, माता-पिता की शाखा की जाँच करें। फिर टाइप करें

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

आशा है ये मदद करेगा!।


8

मैंने अपनी git config फाइल को संशोधित करके इसे ठीक कर लिया है अपनी git डाइरेक्टरी में अपनी config फाइल की जाँच करें - .git\config

यह पहले से था

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

मैंने इसे संशोधित करके तय किया

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

ध्यान दें कि सिर केवल एक शाखा की ओर इशारा कर रहा था, इसलिए यह अन्य मौजूदा शाखाओं के संदर्भ को नहीं ढूंढ सका, मैंने इसे * में बदल दिया, इसलिए यह मूल में सब कुछ जांचता है।


धन्यवाद, दोस्त, प्रयासों के घंटे और अंत में मैं आपके समाधान के साथ उतरा।
सुनील लुल्ला

7

डिफ़ॉल्ट रूप से विंडोज ओएस पर साथ दिया जाता है

core.ignorecase = true

इसका मतलब यह है कि git रेपो फाइल असंवेदनशील होगी, इसे बदलने के लिए आपको निष्पादित करने की आवश्यकता है:

\yourLocalRepo> git config core.ignorecase false

आप इस कॉन्फ़िगरेशन को .it \ config फ़ाइल पर पा सकते हैं


7

मैंने urlदूसरी .git/configफाइल से रिमोट ओरिजिनल कॉपी की , ऐसा करने से मेरी नई .git/configफाइल [remote "origin"]सेक्शन में लाइन से गायब थी

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

ऊपर तय की गयी लाइन को जोड़ना error: pathspec 'master' did not match any file(s) known to git.


6

मेरे पास एक ही मुद्दा था .. मुझे लगा कि fooजब मैंने कोशिश की तो मेरे नाम की शाखा थी :

git checkout foo

मैं ला रही थी:

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

फिर मैंने पूरी शाखा का नाम आज़माया:

git checkout feature/foo

फिर मेरे लिए काम किया।


5

यदि यह विंडोज पर होता है, तो यह संभवतः फ़ाइल नाम का मामला है।

आज मेरे पास यह त्रुटि थी - मैंने नई फ़ाइल बनाई है, जीआईटी में जोड़ा है, फिर मैंने फ़ाइल नाम में एक अक्षर को निचले से ऊपरी तक बदल दिया और फिर मैं कुछ भी नहीं कर सका - रेपो से फ़ाइल को हटा दें।

एकमात्र समाधान मैंने पाया कि फ़ाइल नाम को फिर से उसी मामले में बदल रहा है जब मैंने इस फ़ाइल को GIT में जोड़ा था, तब GIT इस फ़ाइल को GIT से हटाने के लिए वापस कर रहा था, फिर फ़ाइल नाम बदलकर जैसा मैं चाहता हूँ। उन परिवर्तनों के बाद मैं रेपो कर सकता था और फिर बिना किसी समस्या के धक्का दे सकता था।


इससे मदद मिली, लेकिन इसका नाम बदलने के माध्यम से उल्लेख किया जाना चाहिए git mv। लगता है कि आपने इसे इस तरह से किया है, क्योंकि मेरे आईडीई (IntelliJ PhpStorm) के माध्यम से यह करना मेरे लिए विफल रहा ...
डेनिस 98

5

मेरे मामले में मेरे पास दो शाखा 1) मास्टर (जो लाइव सर्वर के लिए है) 2) देव (परीक्षण सर्वर)। मैंने संबंधित सर्वर पर कोड पुश करने के लिए कई रिमोट सेट किए थे। जब मैंने शाखा स्विच करने की कोशिश की तो मुझे त्रुटि मिलीerror: pathspec 'master' did not match any file(s) known to git.

आप उन्हें देख सकते हैं git remote -v। मैं छोड़कर अन्य दूरस्थ हटा दिया था originद्वारा दूरस्थgit remote remove <remote-name>

फिर git fetch

अब मैं शाखा द्वारा चेकआउट करने में सक्षम हूं git checkout <branch-name>


5

मुझे इसी मुद्दे का सामना करना पड़ा जब मैं पहली बार गिट के साथ खेल रहा था। जब मेरी पहली कोशिश ...

git commit -m 'first commit!'

मुझे ओपी द्वारा उल्लिखित त्रुटि मिली ...

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

मुझे लगा कि मैं कमिट मैसेज में एक कीवर्ड का उपयोग करके git को भ्रमित कर रहा हूं, इसलिए मैंने कुछ अन्य शब्दों की कोशिश की और वही त्रुटि प्राप्त की।

अंत में मैंने संदेश में दोहरे उद्धरणों का उपयोग किया ...

git commit -m "first commit!"

यह सफल हुआ ...

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

5

मैंने एक मूर्खतापूर्ण गलती की थी कि मैं (झंडा होता है) (झंडा होता है)

git commit -m "commit message in here"

यहाँ भी वही स्थिति है। बस भूल जाओ "-m" एक ही त्रुटि संदेश मिलता है।
नियुआ

5

मेरा एक अलग मूल कारण था

मेरे पास एक स्क्रिप्ट थी जो मूल रूप से सभी शाखाओं के बीच "PRJ-1234" के लिए सभी शाखाओं के बीच मिलान करने वाली जीरा मुद्दे की कुंजी खोजती है, जो मिलान शाखा पर एक git शाखा चेकआउट कमांड निष्पादित करने के लिए है

मेरे मामले में समस्या 2 थी या अधिक शाखाओं ने एक ही जीरा कुंजी साझा की थी और इसलिए मेरी स्क्रिप्ट उपरोक्त त्रुटि के साथ विफल हो गई थी

पुरानी अप्रयुक्त शाखा को हटाने और केवल एक ही शाखा को सुनिश्चित करने से जीरा प्रमुख संदर्भ समस्या का समाधान हो गया

यदि कोई इसका उपयोग करना चाहता है, तो यहां मेरा कोड है

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

इस रूप में सहेजें switchbranch.sh

फिर टर्मिनल से इसका उपयोग करें ./switchbranch.sh PRJ-1234


मेरे लिए, यह सही अपस्ट्रीम पथ / नाम था और इसमें सभी दूरस्थ टैग लाने के साथ-साथ "git fetch --all --tags --prune" भी सही नाम खोज रहा था: "git Branch -a | grep someupstream" "git checkout -f --track -b new_branch remotes / upstream / some_upstream_branch" के रूप में पूर्ण पथ के साथ इसे चेक करने से पहले
किसना

4

इनमें से किसी भी उत्तर ने मेरा मुद्दा हल नहीं किया:

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.

मैं वापस जाने और कमिट बनाने की कोशिश कर रहा था Version object v2.0.1। सौभाग्य से, मुझे पूरे हैश कोड की कोशिश करने का विचार मिला और यह काम कर गया! जिसका अर्थ है कि मैं हैश कोड के गलत अंत का उपयोग कर रहा था।

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...))
$

जैसा कि ऊपर दिखाया गया है, आंशिक हैश कोड के लिए, आपको फ्रंट-एंड की आपूर्ति करनी चाहिए, बैक-एंड की नहीं।


4

एंड्रॉइड स्टूडियो में एक अप्रयुक्त फ़ाइल का नाम बदलने के बाद मुझे प्राप्त हुआ।

लग रहा था कि इसके भंडार में पुराना संस्करण है, भले ही यह अब मौजूद नहीं है।

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

इसलिए मैंने TortoiseGit के Git GUI को खोला, जिसने मुझे सटीक फ़ाइल दिखाई जो परेशानी का कारण बनी।

बाद में मैंने फ़ाइल को रिपॉजिटरी से हटा दिया

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

और समस्या दूर हो गई थी


3

मेरे मामले में मैंने फ़ाइल का मामला बदलते हुए एक फ़ाइल का नाम बदल दिया था, SomeFile.js -> someFile.js

मुझे लगता है कि समस्या से संबंधित था। एक git लाने से समस्या ठीक नहीं हुई।

मैंने अपने प्रोजेक्ट से फ़ाइलों को स्थानांतरित किया, एक भ्रूण किया, और उनके बिना एक धक्का दिया। फिर मैंने एक भ्रूण लिया, उन्हें वापस जोड़ा, और एक धक्का दिया, और यह काम किया। मुझे नहीं पता कि उन सभी चरणों की आवश्यकता थी, लेकिन यह अंततः काम किया।


बिना नाम
बदले

3

मेरे मामले में मैं बिना काम किए सबमॉड्यूल डायरेक्टरी दर्ज करता हूं

  • git submodule init
  • git submodule update

तो git उस मूल फ़ोल्डर से जुड़ा था जो वास्तव में उस शाखा से चूक गया था।


3

जांचें कि क्या यह लक्ष्य फ़ाइल नाम में टाइपो नहीं है। मैं टाइप करके मंच बनाने का प्रयास कर रहा था

git add includes/connection..php

लेकिन मैंने यह नहीं देखा कि मैं दो डॉट्स का उपयोग कर रहा था लेकिन फिर मैं टाइप करता हूं

git add includes/connection.php

यह काम करता हैं


2

मेरे लिए, यह मेरी साख के साथ एक समस्या थी


कुछ जवाब देने की कोशिश करने के बाद, उनमें से एक ने मुझे समस्या हल करने में मदद की:

रनिंग git fetchने निम्न त्रुटि दी:

होस्ट हल नहीं कर सका: bitbucket.org

मुझे अपनी साख याद रखने के लिए अपनी आईडीई (मेरे मामले में वीएस कोड) के लिए मजबूर होना पड़ा:

git config --global credential.helper wincred

Git ने तुरंत सभी परिवर्तनों को समेट दिया, और git checkout <branche>अब ठीक काम करता है!


1

मैं pathspec errorगिट-बैश पर वही हो रहा था । मैंने शाखा को स्विच / चेकआउट करने के लिए खिड़कियों पर कछुआ गिट का इस्तेमाल किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.