programing

'치명적' 수신:Git repo 원격 추가를 시도할 때 Git 저장소가 아님"

i4 2023. 4. 21. 20:12
반응형

'치명적' 수신:Git repo 원격 추가를 시도할 때 Git 저장소가 아님"

는 이 튜토리얼을 따르고 있습니다.로컬 머신에서 실행할 때까지 모든 것이 정상적으로 동작합니다(이것을 교환한 후).$VARIABLE : s ) : s ) 。

git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git

다음의 에러 메세지가 표시됩니다.

치명적: git 저장소(또는 부모 디렉터리)가 아님: .git

이 단계를 어떻게 통과합니까?

이 리모콘을 추가할 로컬 Git 저장소를 시작했습니까?

에 " " " 가 ?.git폴??

★★를 해 보세요.git init.

현재 작업 디렉토리가 Git 저장소에 없을 때 Git 명령을 사용하려고 하면 이 오류가 발생합니다.은 Git을 때문입니다..git저장소 디렉토리(프로젝트 루트 내부?)는 "프로젝트 디렉토리에 없는Git는 로그를 표시하지 않습니다"라는 내 답변에서 지적된 바와 같이 다음과 같습니다.

Linux 커널 Git 공식 문서에 따르면GIT_DIR[ variable ]가 [ an environment variable ]를.git로는 ( 작업 디렉토리에 디렉토리 (「Current Directory」)

경우,GIT_DIR "환경변수"가를 지정합니다..git이치노

cd저장소/작업 복사본에 저장하거나 처음부터 저장소를 초기화하거나 복제하지 않았습니다. 이 경우 리포할 디렉토리에서 리포(repo)를 초기화해야 합니다.

git init

또는 저장소 복제

git clone <remote-url>
cd <repository>

문제는 OS에서 딸꾹질이 발생할 경우 로컬 저장소의 모든 명령어가 "치명적:git 저장소(또는 부모 디렉토리): .git"이 아닙니다.fsck 명령어가 포함되어 있습니다.

HEAD 파일에 문제가 발생.

.git/refs/heads에서 작업한 실제 지점 이름을 찾을 수 있었습니다.그 후, 다음과 같이 했습니다.

echo 'ref: refs/heads/ML_#94_FILTER_TYPES_AND_SPECIAL_CHARS' > .git/HEAD

됐다.

메모: 이것은 OP의 문제였던 일반적인 문제에 대한 해답이 아니라 이 오류 메시지가 표시될 수 있는 다른 문제에 대한 해답입니다.이 답변을 적어두기 위해 새로운 질문을 하고 싶지는 않았습니다.대신 해야 하는지 알려주세요.p

어떤 이했을 것입니다.이 에러는, 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」.git재했했다

smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG  config*  FETCH_HEAD  HEAD  index  logs/  modules/  objects/  ORIG_HEAD packed-refs

보존해야 할 게 없어서 그냥 더미 같은 방법으로...

smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/

하지 않습니다: 동작하지 않습니다).git logfatal: bad default revision 'HEAD'리모트도 있고 해서...git fetch --all 에 그냥.git reset --hard origin/master레포 이전 상태로 돌아가기 위해서요

않은 변경 경우 사항을 할 수 .git status,git diffjust그 then 냥 냥 그 그git diff yourfile > patch를 클릭합니다.

적어도 재로그(git reflog 사라졌습니다을 사용하다따라서 리셋을 실시하여 방지하고 싶은 변경이 있으면 리셋 후에 다시 받을 수 있을지 모르겠습니다.따라서 이 작업을 수행하기 전에 클론을 복사하는 것만으로 모든 변경 사항을 백업해야 합니다.

파일 시스템에서 git 프로젝트의 위치를 옮긴 후 이 문제가 발생했습니다.몇 가지 git 명령어를 실행했을 때 다음과 같은 오류가 발생했습니다.

$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis

에서 찾았습니다./home/rospasta/path_old/gitprojecta/.travis/.git프로젝트의 이전 위치의 절대 경로가 작성되었습니다.새 위치의 이 경로를 수동으로 업데이트하면 문제가 해결되었습니다.

그래서 제 문제는 git의 문제일 수도 있고 아닐 수도 있지만, hTH입니다.

$ git status
fatal: Not a git repository:

cmd 또는 git 쉘 또는 기타 단말기에 다음 명령을 입력합니다.

$ git init

혹시 다른 사람에게 도움이 될까봐 실수로 .git/objects/삭제했다가 에러메시지가 떴습니다.

치명적: git 저장소(또는 부모 디렉터리)가 아님: .git

복원하면 문제가 해결된다.

저에게 문제는 git 명령어를 non-git dir(, 동작 복사본이 아닌 다른 dir)에서 실행하려고 할 때만 발생합니다.

를 해결하려면 , 「」를 추가합니다.-C <git dir>에서는 git을 한다.git status될 것이다git -C /dir/to/git status ★★★★★★★★★★★★★★★★★」git add -A 되다git -C /dir/to/git -A.

명령줄/CLI에서 현재 디렉토리가 리포지토리가 아닌 경우 이 오류가 발생합니다.그래서 먼저 CD를 리포에 넣어야 해요.

제 경우 Tortoise SVN을 사용하다가 Visual Studio GIT 기능을 동시에 사용하는 실수를 했습니다.이로 인해 Visual Studio는 .git 폴더 안에 있는 HEAD 파일을 잠그고 VS나 Tortoise 모두 레포에 액세스할 수 없게 되었고, 저는 "치명적:Git Repo가 아니라..". 두 응용 프로그램 모두에서 오류가 발생했습니다.

솔루션:

  1. .git 폴더로 이동하여 "HEAD.lock"의 이름을 "HEAD"로 변경합니다.
  2. GIT 관리 어플리케이션 중 하나를 선택하고 다른 하나는 건드리지 마십시오.

특정 폴더로 이동하지 않는 것 같습니다.예를 들어 bugsBunny라는 이름의 프로젝트를 진행하고 있는데 d:/work:code 폴더에 저장되어 있다면 먼저 cd d:/work/code/bugsBunny를 사용하여 해당 폴더로 이동한 후 git 명령을 계속 사용할 수 있습니다.

그러기 위해서는 bitbucket 명령어에 없는1개의 명령어를 입력해야 합니다.

git init을 시도해 주세요.

나는 방금 내 디렉토리에서 git를 다시 초기화했다.

git init 

그리고 그것은 성공하였다.

해제해야 .GIT_DIR은 설정 해제해야 합니다.unset GIT_DIR

아마도 너무 늦었지만, 미래의 방문객들에게 도움이 될 수 있는 또 다른 해결책입니다. 것을 해 주세요..git - directory -

rm .git

그런 다음 git repo를 다시 초기화합니다.

git init

NB: 첫 번째 단계에서는 디바이스에 로컬로 저장된 모든 git 메타데이터가 파괴되고 git이 "새롭게" 시작되므로 마지막 수단으로만 이 답변을 사용합니다.

로컬 repo가 저장되어 있는 소스 폴더로 이동합니다.예를 들어, 내 폴더는 c:/GitSource에서 찾을 수 있습니다.폴더에서 마우스 오른쪽 버튼을 클릭한 후 git bash here를 클릭하여 git status를 클릭합니다.

제 경우 .git/HEAD 파일이 손상되었습니다(도트만 포함).그래서 편집하고 내용을 다음과 같이 바꿨습니다.

ref: refs/heads/master

다시 작동하기 시작했어요

제 경우 시스템 크래시로 인해 HEAD 파일이 손상되었습니다.이 가이드에서는 이 문제를 해결하는 방법 및 발생할 수 있는 기타 문제에 대해 설명합니다.

https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html

windows cmd를 사용하여 git -- 명령어(git status 등)를 시도할 때도 같은 문제가 있었습니다.따라서 환경변수에 window https://windows.github.com/용 git을 설치한 후 "PATH" 변수에서 git의 클래스 경로를 추가합니다.보통 git은 에 설치됩니다.C:/user/"username"/appdata/local/git/bin합니다.

그리고 cmd의 다른 하나는 보통 git 저장소 또는 cd로 이동하며, 그 후 git 명령어는 git cd Document/Github/your project 아래의 문서에 저장됩니다.

, 이것은 나의 ..git/ 경로입니다.root ★★★.git/HEAD ★★★★★★★★★★★★★★★★★」.git/index 때문에 을 방지할 수 있습니다.jenkins이치노

아래 오류는 Gits가 현재 디렉토리에서 .git 파일을 찾지 못한 것으로 보여 오류 메시지를 던집니다.

따라서 git에서 코드를 체크 아웃하는 디렉토리로 변경한 후 이 명령을 실행합니다.

  • $g 체크아웃

제 경우 윈도우의 git은 어느 순간부터 드라이브 문자에 대소문자를 구분하게 되었습니다.

Windows의 git binary 업그레이드 후 동작하던 cli 명령어가 정지되었습니다.예를 들어 스크립트의 경로는 D:\bla\file입니다.txt while git 명령어는 d:\bla\file만 받습니다.txt

, 이 git이 했습니다.fatal: Not a git repository (or any of the parent directories): .git★★★★★★★★★★★★★★★★★★.

폴더에서, 저는 .git을 했습니다.git clone ** newfoldergit이 오류 메시지를 표시하기 전에 .git 폴더 전체를 파손된 오래된 폴더에 복사했습니다.

모든 것이 정상으로 돌아왔고 git도 나의 변경된/미스테이지 파일을 인식했다.

권한 때문일 수도 있습니다.소유자/그룹 권한을 확인하고 해당 데이터에 액세스할 수 있는 적절한 권한이 있는지 확인하십시오.제 경우 소유권이 root:root로 설정된 repo에서 "git status"를 실행할 때 이 오류가 발생했습니다.루트로 "git status"를 실행하면 문제가 해결되었습니다.또는 사용자/그룹 소유권을 root:root로 하지 않으려면 액세스 권한이 있는 항목으로 재포합니다.

에러 메세지가 표시되어 이 질문에 도달했습니다.

fatal: not a git repository: '~/repos/abc'

그리고 git 버전 간에 호환성이 없는 것이 걱정되었기 때문에 (다행히 그렇지 않습니다)

여기서 읽은 답변 중 어떤 것도 제 사건에 대한 해결책이 되지 않았고, 이 답변 중 일부는 위험하고 오해를 불러일으킬 수 있다는 것을 알게 되었습니다.

OpenBOpenB에서 때문에 하였습니다.할 수 있지만, 셸을 할 수 에서 사용하던 에서)..kshrckshgit(형식)에 해 주세요).~/( ( ) :

alias git-abc='git --git-dir=~/repos/abc --work-tree=~/Development/abc'

SD를 사용한 B''ksh하여 에일리어스를 에일리어스를 정의합니다.Linux 서, 、bash~이렇게 인용된 정확히 동일한 에일리어스 정의 내에서 에일리어스가 호출될 때 확장되지 않으므로 에일리어스 정의에서 따옴표를 삭제하여 해결했습니다.

alias git-abc=git --git-dir=~/repos/abc --work-tree=~/Development/abc

를 실행하면

git 상태

파일이 다운로드되어 삭제 또는 거부되는 것을 확인합니다.이 방법을 단계별로 확인하고 모든 부분에서 디렉토리를 다시 확인합니다.

1- git init     (perhaps you have not the right git directory)
2- git status   (see where are you and what happened in cloning)
3- git reset --hard HEAD~1 (lose all the last changes in locally committed by cloning process)

이제 마지막 HEAD로 돌아갔습니다.--hard를 사용했기 때문에 파일은 복제에서 마지막으로 커밋된 상태로 리셋됩니다.프로젝트 폴더를 다시 확인하십시오.

제 경우, 작업하고 있던 디렉토리가 시스템의 다른 사용자에게 할당되어 있었습니다.내가 그 능력을 가졌는지 확인한 결과.git/, I .

git config --global --add safe.directory <absolute_path_to_the_directory>

해결이 됐어요.

.git/ORIG_HEAD repo .disc repo 파일.

백업에서 복원한 후 이 오류가 발생했는데 .git 디렉토리 루트에 포함된 파일이 타겟에 도달하지 못한 것 같습니다만, 처음에는 모든 서브폴더가 정상적으로 복원된 것으로 생각했습니다.

루트 파일을 복원하여 수정했습니다.

GitLab 인증 문제 이후 Jenkins Git 플러그인에 문제가 있었습니다.젠킨스가 '허드슨'을 보고했어요plugins.displaces를 선택합니다.GitException: [...stderr: GitLab:찾으려는 프로젝트를 찾을 수 없습니다.치명적: 원격 저장소에서 읽을 수 없습니다.'

그러나 Jenkins 박스(명령줄)에서 직접 "git clone" 또는 "git fetch"를 수행해도 문제없이 작동합니다.

이 문제는 특정 작업의 Jenkins 작업 폴더에 있는 /workspace 디렉터리 전체를 삭제함으로써 해결되었습니다.

rm -Rf $JENKINS_HOME/jobs/myJenkinsJob/workspace/

아마도 로컬 .git 폴더가 오래되거나 손상되었을까요?

이 문제가 발생하여 README.md 파일을 추가하여 수정하였습니다.

언급URL : https://stackoverflow.com/questions/4630704/receiving-fatal-not-a-git-repository-when-attempting-to-remote-add-a-git-repo

반응형