2012-01-05 4 views
5

.git 디렉토리의 이름을으로 변경하려면 어떻게해야합니까?.git 디렉토리의 이름을 바꾸려면 어떻게해야합니까?

예를 들어 내가 한동안 작업 해 왔던 repo가 ​​있지만 이제는 .git 디렉토리의 이름을 바꾸기로 결정했습니다. 나는 bash mv 명령을 시도했지만 그 후에 git status는 내 작업 디렉토리가 자식 저장소가 아니라고 말했습니다.

+4

왜 그렇게 결정하셨습니까? – ceejayoz

+0

** 이름을 **. git ** 디렉토리로 변경 하시겠습니까? ** git ** 명령의 이름을 다른 것으로 변경하려는 것과 같습니다. 'repo' 디렉토리의 이름을 바꾸고 싶지 않으십니까? – anirvan

+1

@anirvan 실제로, git 명령의 이름을 바꾸면 여전히 작동 할 것입니다.) – fge

답변

19

혹시 그 이름을 변경하려는 것이지만, 어쨌든 ...

망할 놈의 기대 왜 생각이 :

  • 중 하나 .git 디렉토리가 현재 디렉토리 아래에있는, 또는 부모 중 하나에 ,
  • 또는 GIT_DIR 환경 변수를 설정해야합니다.

일반적으로 매우 특별한 상황이 발생하지 않는 한 .git을 밟아서는 안됩니다. 그것은 모든 것이 포함이 디렉토리입니다 (같은 방식으로 Subversion은 1.7+ .svn 디렉토리를 사용하고, CVS는 CVS 디렉토리를 사용 - 해당 자식은 루트에 하나의 디렉토리를 사용)에 대한 유일한 예외는 베어 저장소입니다

이 디렉토리는 git 디렉토리에 있어야합니다.하지만 실제로는 은 실제로 무엇을하고 있는지 알지 못하는 한 직접적으로 만져야합니다.

+2

Subversion은 v1.7 이후 프로젝트 루트에서 하나의 디렉토리 만 사용합니다. – knittl

+0

나는 그것을 몰랐습니다! 고정, 고마워 – fge

+0

어쩌면 힘내는 방식에 대해 뭔가 이해하지 못하고있을 수도 있습니다. 예를 들어, 원격 저장소를 복제 할 때 : git clone git : //git.kernel.org/pub/scm/git/git.git 어떻게하면 Git 디렉토리가 ../git를 통해 액세스 할 수 있습니까? .git? –

7

.git 디렉토리의 이름을 고정 된 이름으로 바꿀 수 없으며 모든 이름을 GIT_DIR 환경 변수로 설정하지 않는 한 모든 사람에게 --git-dir=을 전달해야합니다. Git은 저장소에서 작업을 수행 할 때이 디렉토리를 검색합니다 (예 : git status).

왜 .git 디렉토리의 이름을 변경하겠습니까? 저장소의 이름을 바꾸려면 부모 디렉토리의 이름을 .git으로 변경하십시오.

+2

내 ~/디렉토리에 루트 파일 시스템을 사용하여 점 파일을 추적하고 다양한 응용 프로그램을 구성 파일로 변경하는 것이 유용한 지 알아 냈습니다. 그러나 Eclipse와 같은 IDE는 ~/workspace (심지어 무시 됨)를 감지하고 큰 dir에서 캐시되지 않은 "git status"와 같은 긴 작업을 자주 일으킬 수 있습니다. 환경 설정을 사용하여 각 도구에서 루트 저장소를 제외하는 방법이 있지만 .git 디렉토리의 이름을 .git_alt로 바꾸는 것이 더 간단합니다. 관련 항목을 추적 할 때 --git-dir = ~/.git_alt를 전달하면됩니다. 내 homedir 자식 repo. –

+0

@TomH 덕택에, 나는 IDE 때문에 이것을 원했다. – starikovs

0

.git 디렉토리의 이름을 바꿀 수 없습니다. 힘내 기는 그것을 찾을 수 있어야합니다.

1

그렇지 않습니다.

는 힘내 당신이 나무 위로 등 현재 디렉토리에 .git 디렉토리, 다음 상위 디렉토리를 찾아 저장소에있어, 여부. * 당신이 그것을 이름을 변경하면 결정

는, 힘내보기 위하여 어디 아무 생각이 없습니다 . 다시 이름을 변경하여 .git으로 리포지토리를 수정하십시오.

실제로 재미있는 디렉토리 이름을 변경하는 것 외에 실제로 뭔가를 달성하려는 경우 질문을 편집하거나 실제 문제에 대해 새 질문을하십시오. 본질적으로 최상위 수준에서 .git 디렉토리의 내용을 포함 베어 저장소를 지원하기 위해


*, 또한 특정 파일을 찾습니다.

0

TFS 도구와 함께 Visual Studio 2013 (VS 2013)의 버그로 인해 동일한 문제가 발생했습니다. TFS 프로젝트는 이전에 추가 한 로컬 .git 프로젝트를 찾으면 연결하거나 시작하지 않습니다.

먼저 VS 2013을 닫은 다음 '의 이름을 바꿉니다.git '파일을 다른 접미사 (예 : "test.gitRENAMED")에 추가하십시오. 그러면 VS 2013 프로젝트가 시작될 때 TFS 프로젝트에 다시 연결할 수 있습니다.

로컬 git 저장소가 손상되지 않도록하려면 나중에 '.git'파일의 이름을 다시 지정하십시오.

windows-explorer는 사용자 디렉토리 정책 때문에 '.git'디렉토리로 다시 이름을 지정할 수 없습니다.

Linux 컴퓨터에서 폴더 이름을 바꾸거나 Windows 탐색기 도구 "Total Commander"를 다시 사용하십시오.

관련 문제