Git:无法检出分支-错误:pathspec'...'与git已知的任何文件都不匹配

守給你的承諾、 提交于 2019-12-30 20:31:28

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我不确定为什么我无法检出我以前处理过的分支。 请参阅以下命令(注意: cocheckout的别名):

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_layoutsrefs/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"

#1楼

我在git-bash上遇到相同的pathspec error 。 我在Windows上使用Tortoise git来切换/签出分支。


#2楼

我遇到了同样的问题..当我尝试执行以下操作时,我以为自己有一个名为foo分支:

git checkout foo

我得到:

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

然后,我尝试使用完整的分支名称:

git checkout feature/foo

然后为我工作。


#3楼

如果您使用git branch -D yourbranchname删除了一个分支,并再次拉/克隆了您的git branch -D yourbranchname ,则可能需要再次创建本地分支。

尝试:

git checkout -b yourbranchname

#4楼

Git Windows用户要注意-如果没有--icase-pathspecsGIT_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"

#5楼

这可能是上游重写历史记录时引起的。

发生这种情况时,我将所有受影响的存储库扔掉,从上游克隆它们,然后使用'git format-patch'/'git am'将所有正在进行的工作从旧世界迁移到新世界。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!