git init을 두 번 실행하면 리포지토리가 초기화되거나 기존 리포지토리가 다시 초기화됩니까?


164

git init다시 발행하면 기존 자식 저장소는 어떻게됩니까 ?

로 저장소를 만들었습니다 git init. 파일을 생성하고 추가하고 커밋합니다. 상태를 확인하십시오 (커밋하지 않음). 그런 다음 다른 파일을 만들고 상태를 확인하면 예상대로 추적되지 않는 것을 볼 수 있습니다.

그런 다음 실수로 git init다시 실행 하면 기존 Git 저장소 메시지 다시 초기화가 표시 됩니다.

시도 git status했지만 동일하게 표시됩니다. 그래서 실제로 무슨 일이?

이 방법으로 기존 자식 저장소를 다시 초기화하는 것이 해롭거나 도움이 될 수 있습니까? 왜 git init기존 저장소 내부에 있을 수 있습니까?


Xcode를 사용하여 FWIW 는 처음 으로 로컬 리포지토리를 처음으로 만든 다음 Github.com에 가서 새 원격 리포지토리를 만들었습니다. 내가 한 다음 로컬 리포지토리를 원격에 연결하려면 ... Github.com에서 제공하는 단계를 따르고 있었고 첫 번째 단계는 내가 한 것입니다. 아마도 Xcode가 자동으로 그것을 만든 두 번째 시간 git init
Honey

답변:


208

자식 문서에서 :

기존 저장소에서 git init를 실행하는 것이 안전합니다. 이미 존재하는 것을 덮어 쓰지 않습니다. git init를 다시 실행하는 주된 이유는 새로 추가 된 템플릿을 선택하는 것입니다.


110

이것은 git init설명서에 설명되어 있습니다.

기존 저장소에서 git init 를 실행 하는 것이 안전합니다. 이미 존재하는 것을 덮어 쓰지 않습니다. git init 를 다시 실행하는 주된 이유 는 새로 추가 된 템플릿을 선택하는 것입니다.


47

v1.7.5 ( b57fb80a7 ) 부터 git init기존 저장소에서 .git디렉토리 이동도 허용했습니다 .

'git init'을 다시 실행하는 주된 이유는 새로 추가 된 템플릿을 선택하거나 --separate-git-dir이 지정된 경우 리포지토리를 다른 위치로 옮기는 것입니다.

'새로 추가 된 템플릿 선택' 은 템플릿 디렉토리 에서 아직 복사하지 않은 템플릿 이 기존 git 디렉토리로 복사 됨을 의미합니다 .

'리포지토리를 다른 장소로 옮기는 것'은 다른 곳을 --separate-git-dir가리키는 경우 기존 .git디렉토리가 그곳으로 이동하여 링크로 대체됨을 의미합니다.


-1

그것은 이미 자식을 초기화했음을 의미합니다. 이 경로에서 이미 github에 파일을 업로드했기 때문입니다. 경로를 확인하면 .git이라는 이름으로 폴더가 생성됩니다. git를 초기화하기 위해 다시 요구하지 않는 이유입니다. 다음 단계로 바로 갈 수 있습니다

git add.

힘내 폴더

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