git status에서 "치명적 : git 저장소 (또는 상위 디렉토리)가 아님"


99

이 명령은 파일을 가져 와서 컴파일합니다.

git clone a-valid-git-url

예를 들면 :

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

그러나 git status(또는 다른 git 명령) 위의 fatal: Not a git repository (or any of the parent directories)오류가 발생합니다.

내가 뭘 잘못하고 있죠?


6
체크 아웃 된 코드는 liggghts디렉토리에 있습니다.
Eugen Constantin Dinca

답변:


161

실제로 먼저 디렉토리로 이동해야합니다.

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

1
git hoses가 자체 .git 디렉토리 인 경우에도이 오류가 발생합니다. 풀을했는데 "최적의 성능을 위해 백그라운드에서 저장소 자동 패킹"이라는 메시지가 표시되었습니다. 그런 다음 더 많은 작업을 시도했지만 OP의 오류 메시지 만 표시됩니다. 내 .git 폴더는 여전히 있지만 git이 어떻게 든 손상 시켰습니다. 실행 git init하면 문제가 해결되었습니다.
Cerin

내가 얼마나 어리석은가. 디렉토리로 이동하기 전에 git status 시도 :) 정말 감사합니다.
webHasan

12

나는 방금이 메시지를 받았으며 다른 사람들을 시도하기 전에 매우 간단한 대답이 있습니다. 상위 디렉토리에서 다음을 입력하십시오.git init

이것은 git의 디렉토리를 초기화합니다. 다음 git addgit commit작동합니다.


복제 전후? 이것이 새로운 git repo를 생성합니까? 복제 된 기존 git repo 및 히스토리와 어떻게 작동합니까? remote이 계약에 따라 원래 설정 은 어떻게됩니까 ?
Michael Durrant

11

제 경우에는 환경 변수였습니다. GIT_DIR 더 빨리 액세스하기 위해 추가 .

이것은 또한 SourceTree의 모든 로컬 저장소를 깨뜨 렸습니다.


5

때로는 ssh 때문입니다. 따라서 이것을 사용할 수 있습니다.

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

대신에:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

내 로컬 컴퓨터에 저장소를 복제하려고 시도하는 동안 오류가 발생했습니다. https : // TO git : //를 사용하여 FROM을 전환했으며 성공적으로 복제되었습니다. 나를 올바른 방향으로 가리키는 Thx.
Scott Wade

4

제 경우에는 Windows cmd를 사용하여 git 명령 (예 : git status)을 시도하는 동안 동일한 문제가 발생했습니다. 그래서 내가하는 일은 환경 변수에 git for window https://windows.github.com/ 을 설치 한 후 "PATH"변수에 git의 클래스 경로를 추가하는 것입니다. 일반적으로 git은 C:/user/"username"/appdata/local/git/bin환경 변수의 PATH 에 추가 하면 설치됩니다.

cmd에 대한 한 가지 더는 git 저장소로 이동하거나 클론이 창에있는 CD로 이동하면 일반적으로 github의 문서에 저장됩니다.

cd Document/Github/yourproject

그 후에 어떤 git 명령을 가질 수 있습니다.


3

나는 또 다른 문제가 있었다. 나는 git 디렉토리에 있었지만 심볼릭 링크를 통해 거기에 도착했습니다. 나는 디렉토리로 직접 이동해야만했다 (즉, 심볼릭 링크를 통하지 않고).


3
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

"cd projone"이 필요합니다.

그러면 상태를 확인할 수 있습니다.


처음에 이것이 눈치 채지 못한 한 가지 이유는 컴퓨터에 이미 같은 이름의 폴더를 만들었고 프로젝트를 복제 한 곳 이었기 때문에 디렉토리를 다시 변경해야합니다.



3

이 오류는 git init를 사용하여 git 초기화를 시도했을 때 해결되었습니다 . 효과가 있었다


2

제 경우에는 원래 저장소가 맨손이었습니다.

그래서 (창에서) 다음을 입력해야했습니다.

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

저장소가 베어 있는지 확인하려면 다음을 수행하십시오.

git rev-parse --is-bare-repository 

1

간단히, 저장소를 복제 한 후에 는 새 복제 된 폴더 로 cd (현재 디렉토리 변경) 해야합니다.

git clone https://User_Name@bitbucket.org/Repo_Name.git

cd Repo_Name

1

기존 프로젝트 솔루션이 VS Code에서 TSF로 이동할 계획 인 경우 :

터미널을 열고 다음 명령을 실행하십시오.

  1. 해당 폴더 (루트 디렉토리)에서 git 초기화

    git init

  2. 힘내 추가

    git add .

  3. 연결 이 프로젝트에 TSF / 힘내 - {URL} 당신의 자식 주소로 대체

    git remote add origin {url}

  4. 커밋 그 변경 사항 :

    git commit -m "initial commit"

  5. 푸시 -버전 1로 코드를 푸시했으며 브랜치에 어떤 이름도 사용할 수 있습니다.

    git push origin HEAD:Version1


0

갑자기 git 명령을 실행하려고 시도한 디렉토리에서와 같은 오류가 발생했습니다.

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

나를 위해 .git내 바탕 화면에 내용 이 담긴 숨겨진 파일이 있음이 밝혀졌습니다 .

gitdir: ../../.git/modules/some-module

해당 파일을 제거하고 수정했습니다.


0

사무실 네트워크에서 같은 문제가 있습니다. 내가 사용 의 나를 위해 작동하지 않는이 명령하지만, 그래서 다음과 같이 URL을 : 전 $ git clone https://gitlab.com/omsharma/Resume.git

이 URL을 사용한 : $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git 시도해보십시오.

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