힘내 : 분기를 체크 아웃 할 수 없습니다-오류 : pathspec '…'이 git로 알려진 파일과 일치하지 않습니다.


706

왜 내가 이전에 작업 한 지점 을 체크 아웃 할 수 없는지 잘 모르겠습니다 . 아래 명령을 참조하십시오 (참고 : 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?
Mark Longair

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제공합니까?
Mark Longair

1
같은 오류가 발생하여 다른 리포지토리에서 분기를 만들고 해당 리포지토리로 해당 분기를 체크 아웃하려고합니다. 그래서 다른 저장소로 인해 얻었습니다.
Kushan Gunasekera '

답변:


947

시도 git fetch로컬 저장소 GitHub의에서 모든 새로운 정보를 얻을 수 있도록. 새로운 브랜치에 대한 정보 만 가지고 실제 코드는 사용하지 않습니다. 그 후에는 git checkout잘 작동합니다.


18
추가 설명을 git fetch위해 로컬 저장소를 원격 저장소와 동기화해야하지만 변경 사항을 작업 폴더에 병합 하지 않을 때 유용 합니다.
Mark Lakata

138
리모컨이 여러 개인 클론의 경우 git checkout Branch작동하지 않습니다. 여러 개의 리모컨을 사용하는 경우 지점 이름 만 모호하며 원격 / 지점 사양이 필요합니다. git checkout -b branch remote/branch해당 시나리오에서 명령이 작동합니다.
Umair Ishaq

1
어떻게 든 로컬 "마스터"를 만들었으므로 "git fetch"가 더 가까워졌지만 원격 마스터로 전환하기 전에 로컬 마스터 ( "git branch -d master")를 먼저 삭제해야했습니다 ( "git checkout 석사"). 저만큼 어리석은 사람을 도와주는 경우!
Jamie Brown

1
@ Aleks OP의 질문과 관련없으므로 허용되는 답변이 아닙니다 . 그는 이전에 로컬에서 체크 아웃 한 (즉, 생성 한) 지점 더 이상 체크 아웃 할 수 없었 습니다 . 훨씬 더 근본적인 문제가있는 다른 사람들이이 답변을 발견하고 찬성했다고해서 (이틀 이상의 경험을 가진 모든 git 사용자에게 잘 알려져 있음) OP가 그것을 받아 들여야한다는 것을 의미하지는 않습니다.
Michael Johnston

11
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>분리 된 HEAD가 있습니다.

(원산지에서 분리 /)

마지막으로 문제를 해결하기 위해 다음을 수행했습니다 .

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

15
이 "체크 아웃"명령을 사용하면 다음과 같은 메시지가 나타납니다. 치명적 : 경로를 업데이트 할 수없고 'foo'분기로 동시에 전환 할 수 없습니다.
NEOline

1
원격 주소를 수동으로 수정 한 후 새 지점을 체크 아웃 할 수 없습니다. "git remote update"가 트릭을 수행하는 것처럼 보였습니다.
martin

"git remote update"가 없으면 작동하지 않았습니다. 감사!
Kristiyan Tsvetanov

git checkout --track origin/staging fatal: git checkout: --track and --no-track require -b자식 버전 1.5.6.5
Ivan Borshchov

다음 세 번째 명령 대신 사용git checkout -b staging --track origin/staging
Ivan Borshchov

152

원격이고 로컬 추적 분기가없는 지점에 대해이 오류가 발생했습니다. 확실하지만 간단한 방법으로 원격 지점을 확인했습니다.

git checkout feature/foo

과거에는이 오류를 해결하기 위해

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

나도 그 상황에 처한 일을 전혀 모른다.


1
불행히도 나는 그것을 원격 git 서버로 푸시하지 않았다.
Ramon Tayag

이것은 나를 위해 일했습니다. FC10 시스템의 git v 1.6에서 발생했습니다.
FractalSpace

26
힘내는 일반적으로 원격 지점을 체크 아웃 할 것으로 추측하지만 둘 이상의 원격을 사용할 때 더 이상 그렇게 할 수없는 것처럼 보입니다. 출처 : makandracards.com/makandra/…
엘리야 린

1
git checkout foo 대신 git checkout feature / foo를 수행하면 나를 위해 일했습니다.
Alejandro Moreno

이것은 나에게 일어나기 시작했습니다 (많은 리모컨과 수백 개의 지점이있는 저장소에서 3 년 동안 원산지에서 성공적으로 지점을 체크 아웃했습니다). 검사 결과, 나는 새로운 리모컨을 추가하고 git 명령을 사용하는 대신 텍스트 편집기에서 복사 / 붙여 넣기로 그것을 수행 fetch = +refs/heads/*:refs/remotes/origin/*했으며 새로운 원격 이름과 일치하도록 줄을 변경하는 것을 잊었습니다 . LOL. 아마 이것이 막 드라 나에게 일어 났습니까? 원격 제어 장치가 많더라도 지점을 다시 체크 아웃하면 지점에서 다시 한 번 분기를 가져 오기 때문에
Michael Johnston

91

리포지토리를 사용하여 분기를 삭제하고 git branch -D yourbranchname다시 가져 오거나 복제 한 경우 로컬 분기를 다시 작성해야 할 수 있습니다.

시험:

git checkout -b yourbranchname

이 옵션은 파일이 이미 변경되어 있고 새로 만든 브랜치로 파일을 푸시하려는 경우에도 항상 작동합니다.
Nerius Jok

이것은 OP와 동일한 문제 / 질문을 공유하면서 제공된 답변이 간단한 상황을 가정했기 때문에 유용한 의견이었습니다. 불행히도 내 상황에서는 이전에 로컬 지점 만 생성 한 다음 @Francisco Alvarez가 언급 한 것처럼 삭제 했으므로 다른 솔루션을 시도한 방법에 관계없이 새 원격 지점을 가져올 수 없었습니다. 이 답변은 베이컨을 구했습니다.
David

61

똑같은 질문이 있으며이 링크에서 정보를 얻었습니다 .git fetch는 모든 분기를 가져 오지 않습니다.

따라서 지금은 이러한 상황이 어떻게되었는지 확실하지 않을 수 있습니다. 최소한 해결할 수 있습니다.

1 단계. "remote.origin.fetch"설정을 확인하십시오.

$ git config --get remote.origin.fetch

+ refs / heads / private_dev_branch : refs / remotes / origin / private_dev_branch

2 단계. "remote.origin.fetch"를 변경하여 모든 것을 가져옵니다.

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

$ git config --get remote.origin.fetch

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

그런 다음 모든 분기를 얻기 위해 "git pull"( "git fetch origin"도 작동하지만 시도하지는 않았 음)을 시도 할 수 있습니다.


@onionjake가 맞습니다. 모든 세부 사항에서 질문을 확인하지 않은 것은 죄송합니다. "git checkout <existed_branch>"와 동일한 동작을 시도하는 동안 동일한 오류 메시지가 표시되었지만 실제로는 발신자의 문제와는 다릅니다 .---- 발신자가 로컬에서 분기를 볼 수는 없지만 볼 수는 없습니다. 내 대답은 모든 지점을 고급으로 가져 오지 않은 문제를 해결할 수 있습니다. 그러나 발신자의 문제에 대한 상황은 아닙니다.
bearzyj

3
저를 포함한 많은 사람들이 --branch 플래그로 repo를 복제 할 수 있기 때문에이 오류가 발생합니다. 따라서 git fetch 후에도 다른 분기를 얻지 못하고 원격에서 아무것도 체크 아웃 할 수 없습니다. 이 문제가 해결되었습니다. 감사!
Orif Khodjaev

대단히 감사합니다. 나는 tensorflow의 devel docker 이미지를 사용하고 있었고 브랜치를 특정 버전으로 제한합니다. 가져 오기 구성을 설정 한 후 이제 체크 아웃 할 수 있습니다.
Michael_Zhang

24

Git Windows 사용자는 --icase-pathspecs또는 GIT_ICASE_PATHSPECS = 1 env var 설정 없이 git pathspec이 대소 문자를 구분하므로 주의하십시오.

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>

질문과 전혀 관련이없는 것 같습니까?
onionjake

위에서 언급 한 동일한 문제가 다음 명령을 사용하여 해결되었습니다.
Sajin M Aboobakkar

19

지점을 전환하는 동안 문제가 발생했습니다.

나는 현재 지점에서 git pull을하고 새로운 지점을 체크 아웃하려고 시도했다.

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


정말 유용합니다 :)
vikifor

왜 이것이 효과가 있을까요? git pull현재 분기를 당기는 것 이상을 수행 합니까 ?
Cameron Hudson

다른 사람이 만든 브랜치에서 가져 오려고하지만 아직 현재 리포지토리에서 가져 오지 않은 경우 일 수 있습니다.
Ankit Marothi

15
git pull

그것은 단순히 나를 위해 그것을 고쳤다 :)


13

내가 사용하기 때문에이 같은 문제를 가지고 git clone --depth=1의미하는 --single-branch.

완료 git clone하면 해결됩니다.


지적 해 주셔서 감사합니다. 내가 직면 한 것과 정확히 같은 문제입니다. 감사합니다
무 케시 쿠마르

완전한 클론이 필요하지 않을 수 있습니다. 원래 리포지토리를 복제 한 후 다른 사람이 분기를 생성 한 경우 로컬 리포지토리에이 새 분기에 대한 정보가 없기 때문에이 오류가 발생합니다. 마스터로 전환하고 git pull을 수행하십시오. 그런 다음 새 지점을 체크 아웃하십시오.
Yasin

12

나는 다음을 할 때 이것을 얻었다.

  • git에 연결된 IntelliJ IDE 사용
  • 새 파일을 만들고 git에 추가
  • 새 파일 이름이 변경되었습니다.

디렉토리를 체크인하려고 할 때이 오류가 발생했습니다.

고치다:

git 확장에서 repo를 열었습니다. 파일 (이전 이름)이 준비된 것을 알았습니다. 그러나 더 이상 존재하지 않았으므로 커밋 할 수 없었습니다.

이 파일의 스테이지를 간단히 해제했습니다.

그런 다음 파일 (이번에는 올바르게 이름이 지정됨)을 git에 다시 추가하고 오류없이 커밋했습니다.


재미있는 것은이며, 그것은 여전히 IntelliJ를하지 않는 경우에도 TortoiseGit와 함께 작동
마리아 Klühspies

3
이것은 나를 많이 도와주었습니다. SourceTree를 사용 하여 파일의 f * ck r 을 찾아 스테이지를 해제했습니다.
Vinchenzo

10

내가하려고했던 오늘이 문제를 가지고 git checkout foo얻은error: pathspec 'foo' did not match any file(s) known to git.

내가 잘못된 저장소에 있었다는 것이 밝혀졌다 . 교훈은 배웠습니다. 기절하기 전에보고있는 레포를 확인하십시오.


하-네, 저예요-Jira 티켓에서 Bitbucket에 지점을 만들었습니다. 임의의 저장소에서 만들었습니다.
Keir

sidenote : 여러 리모컨으로 작업하고 있었고, 하나는 올바르게 설정했고, 다른 하나는 잘못된 저장소를 가리 켰습니다. 수 알림 주셔서 감사합니다, 나는 git remote -v
Dreamling

9

통해 지점을 체크 아웃하려고 할 때이 오류가 발생했습니다.

git checkout branchX

전에는 체크 아웃하지 않았습니다. 리모콘을 명시 적으로 언급 할 때만 작동했습니다.

git checkout --track origin/branchX

그 이유는 git config에 2 개의 다른 리모컨 (origin + sth. else)이 구성되어 있기 때문입니다. 두 번째 리모컨이 필요하지 않아서 리모컨을 제거하고 작동했습니다. 다음을 통해 기본 원격을 설정하는 대안 :

checkout.defaultRemote=origin

나를 위해 일하지 않았다


다른 모든 제안 된 답변이 나에게 도움이되지 않았기 때문에이 답변을 추가 했으므로 동일한 원인을 가진 사람 (2 리모컨)에게 도움이되기를 바랍니다.
RS1980

8

먼저 부모 지점을 체크 아웃하십시오.

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

도움이 되길 바랍니다!.


8

내 자식 설정 파일을 수정하여 수정했습니다. 자식 디렉토리의 설정 파일을 확인하십시오- .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/*

헤드가 하나의 브랜치만을 가리키고 있으므로 기존의 다른 브랜치에 대한 참조를 찾을 수 없으므로 *로 변경하여 원래의 모든 것을 확인합니다.


고마워, 친구, 몇 시간의 노력과 마침내 나는 당신의 해결책에 착륙했습니다.
Sunil Lulla

7

Windows OS에서 기본적으로 git은

core.ignorecase = true

즉, git repo 파일은 대소 문자를 구분하지 않으므로이를 변경해야 실행됩니다.

\yourLocalRepo> git config core.ignorecase false

이 구성은 .git \ 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

Windows에서 발생하면 파일 이름 문제 일 수 있습니다.

오늘이 오류가 발생했습니다-새 파일을 만들고 GIT에 추가 한 다음 파일 이름의 한 글자를 아래쪽에서 위쪽으로 변경 한 다음 커밋, 되돌리기, 저장소에서 파일 삭제 등 아무것도 할 수 없었습니다.

내가 찾은 유일한 해결책은이 파일을 GIT에 추가 할 때 파일 이름을 다시 정확히 같은 경우로 다시 변경 한 다음 GIT 되돌리기를 수행하여 GIT 에서이 파일을 제거한 다음 원하는대로 파일 이름을 다시 변경하는 것입니다. 그 변화 후에 나는 repo를 저지른 다음 아무런 문제없이 밀어 넣을 수 있습니다.


이것은 도움이되었지만를 통해 이름을 바꾸는 것에 대해 언급해야합니다 git mv. 내 IDE (IntelliJ PhpStorm)를 통한 작업이 실패했기 때문에 이런 식으로 한 것 같습니다.
Dennis98

5

내 경우에는 두 가지 1) 마스터 (라이브 서버 용) 2) dev (테스트 서버)가 있습니다. 각 서버에서 코드를 푸시하도록 여러 개의 원격을 설정했습니다. 지점을 전환하려고 할 때 다음과 같은 오류가 발생했습니다.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으로 처음 놀았을 때 이와 동일한 문제가 발생했습니다. 첫 커밋을 시도 할 때 ...

git commit -m 'first commit!'

OP에서 언급 한 오류가 발생했습니다 ...

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

커밋하는 동안 -m 플래그를 제공하지 않는 바보 같은 실수를 범했습니다.

git commit -m "commit message in here"

같은 상황입니다. "-m"을 잊어 버리면 동일한 오류 메시지가 나타납니다.
Niuya

5

다른 근본 원인이있었습니다

기본적으로 모든 지점 중 "PRJ-1234"에 대한 jira 이슈 키와 일치하는 모든 지점을 검색하여 일치하는 지점에서 git branch checkout 명령을 실행하는 스크립트가 있습니다.

내 경우의 문제는 두 개 이상의 지점이 동일한 jira 키를 공유했기 때문에 스크립트가 위에서 언급 한 오류로 실패하게했습니다.

사용하지 않는 오래된 분기를 삭제하고 단일 분기 만 jira 키 참조로 문제를 해결했는지 확인

누군가가 그것을 사용하려는 경우를 대비 한 코드는 다음과 같습니다.

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 some_upstream" "git checkout -f --track -b new_branch remotes / upstream / some_upstream_branch"와 같은 전체 경로로 체크 아웃하기 전에
kisna

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

Android Studio에서 커밋되지 않은 파일의 이름을 바꾼 후 나에게 일어났습니다.

Git은 더 이상 존재하지 않더라도 저장소에 이전 버전이있는 것처럼 보였습니다.

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 add 파일을 발행하면 나중에 나를 위해 해냈습니다
phil294

3

내 경우에는 수행하지 않고 하위 모듈 디렉토리에 들어갑니다.

  • git submodule init
  • git submodule update

따라서 git은 실제로 해당 분기를 놓친 상위 폴더에 연결되었습니다.


3

대상 파일 이름의 오타가 아닌지 확인하십시오. 타이핑을해서 무대에 오르려고했습니다

git add includes/connection..php

그러나 나는 두 개의 점을 사용하고 있음을 알지 못했지만

git add includes/connection.php

효과가있다


2

나를 위해, 그것은 내 자격 증명에 문제가 있었다


답변 중 일부를 시도한 후 그들 중 하나가 문제를 해결하는 데 도움이되었습니다.

실행 git fetch중 다음 오류가 발생했습니다.

호스트를 확인할 수 없습니다 : bitbucket.org

내가해야 할 일은 IDE (내 경우에는 VS 코드)가 내 자격 증명을 기억하도록 강요하는 것입니다.

git config --global credential.helper wincred

힘내 즉시 모든 변경 사항을 동기화하고 git checkout <branche>잘 작동합니다!


1

pathspec errorgit-bash 에서 똑같은 것을 얻었습니다 . 창에서 Tortoise git을 사용하여 지점을 전환 / 체크 아웃했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.