git 루트 폴더의 이름을 바꾸는 방법은 무엇입니까?


85

저는 Vista에서 /path/to/project/git repo.

이제 폴더 이름의 공백이 git bash에서 작업 할 때 사소한 자극이라는 것을 발견했습니다.

폴더 이름을 다음으로 바꿀 수 있습니까 /path/to/project/gitrepo? git config 내의 모든 것이 상대적입니까? 아니면 명시 적으로 상위 폴더를 참조하는 것이 있습니까?

주 폴더의 Windows 사본을 가져 와서 git bash를 실행하려고 시도했으며 'git log'는 이전에 변경 한 내용을 보여줍니다. 따라서 기본 폴더의 이름을 바꾸는 것은 괜찮다고 가정하지만 더 진행하기 전에 확인하고 싶습니다.

답변:


53

Greg대답을 약간 수정하려면 예, git repo가있는 모든 것은 .git부모 디렉토리에 상대적입니다 .

(그리고 이것은 아마도 당신에게 직접적인 영향을 미치지 않을 것입니다. 여기에서는 완전성을 위해 그 이유만을 언급합니다.) :

  • 저장소 자체의 경로는 컴퓨터에서 실행중인 다른 서비스에서 참조 할 수 있습니다 (Apache, ssh, 전체 파일 경로를 사용하여 저장소를 원격으로 선언하는 다른 저장소 , 특정 경로에서 저장소를 선언하는 gitolite 레이어, ... )
  • 일부 작업은 repo의 전체 경로를 사용하므로 (예 를 들어 명령 GIT_INDEX_FILE내 에서 사용하는 filter-branch경우 this thread 참조 ) 분명히 저장소에서 복잡한 작업을 수행하는 동안 루트 디렉토리의 이름을 바꾸지 마십시오.

또한 "windows copy"(대신 git clone)는 후크를 포함한 모든 것을 복사합니다. 후크를 포함하여 편집하고 이러한 종류의 수정을 수행 한 경우 스크립트에 절대 경로를 포함 할 수 있습니다.


2
그래서 누군가가 확실히해야 할 실용적이고 명시적인 단계를 가지고 있다면 그것은 매우 실행 가능할 것입니다.
ahnbizcad

@grepo 폴더의 이름을 바꾸는 것 외에 어떤 단계입니까?
VonC 2014-08-17

88

예, Git 저장소가 포함 된 폴더의 이름을 바꾸는 것이 안전합니다. Git 저장소 내부의 모든 경로는 상대적입니다.


4

먼저 댓글을 확인하세요 ...

제 생각에 가장 좋은 방법은 git workflow 를 사용하는 것입니다. 특히 git 서버 (원격 마스터 저장소)를 사용할 때 다음을 의미합니다.

  • git 서버와 동기화 된 이전 디렉토리를 가져옵니다 ( git pull, git push마침내 git status모든 것이 정상인지 확인합니다)
  • git clone <former directory> <new directory>

(저도 GIT를 처음 접했기 때문에 이것이 완전하고 정답이 아닐 수도 있습니다. 저는 Mick과 같은 질문을했고 학습 목적으로 git 방식으로 시도했습니다. :) 단서, vonC! 필요한 경우 저를 수정하십시오 :)


1
이면 첫 번째 파일 git clone <former directory> <new directory>을 만들 필요가 없습니다 <new directory>. 는 git clone당신을 위해 그것을 만들 것입니다.
VonC

3
나는 이것이 당신이 원하는 것을 할 것이라고 생각하지 않습니다. 이것은의 원점을 <new directory>로 설정합니다 <old directory>. 그래서 git remote -vin <new directory>이 표시 origin C:/old/directory됩니다.
kvu787

1
@ kvu787에 동의합니다. 이것은 요청한 것과 같지 않으며 아마도 많은 문제를 일으킬 것입니다.
alkanen

@ kvu787 @alkanen, 그것은 도움, 사용자가 무엇을 제안 하는가 : git remote rm origin- 새로운 담당자의 원점으로 기존 디렉토리를 제거합니다 - cd .. and rm -rf <former directory>기존 디렉토리 삭제
파이썬

@PythoNic, 이전 저장소에 "origin"이라는 이름의 원격이있는 경우 아니요, 새 저장소에 더 이상 원격이 없기 때문에 이것은 괜찮지 않을 것입니다. 그렇지 않으면 괜찮지 만 폴더 이름을 바꾸는 것이 더 간단합니다.
kvu787

0

예, 변경할 수 있습니다. 당신의 repo는 여전히 당신의 git로 직접 연결됩니다. .git fo의 이름을 제거 / 편집하지 마십시오.

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