Git 리포지토리의 이름을 바꾸려면 어떻게합니까?


435

git mv저장소에서 파일 또는 디렉토리의 이름을 바꿉니다. Git 리포지토리 자체의 이름을 바꾸려면 어떻게해야합니까?


1
mv내 '리포지토리 호스트'에서 PROJ0.git의 이름을 바꾸는 데 사용하려고 시도 했습니다. 그러나 그것이 옳은지, 유효한지 모르겠습니다.
Yantao Xie

5
당신의 질문은 괜찮습니다. Git에는 저장소가 있으며 프로젝트를 git 저장소에 배치하기로 결정한 경우 Eclipse 프로젝트와 같은 프로젝트를 포함 할 수 있습니다. 그것이 당신이 원하는 것이라면 아래의 답변에서 그렇게하는 방법을보십시오.
Danny Remington-OMS

3
git자체에는 리포지토리 이름을 지정할 규정이 없습니다. 루트 디렉토리 이름은 저장소 이름과 관련된 단일 소스입니다 . 이 .git/description파일은 다음과 같은 일부 응용 프로그램에서만 사용됩니다Gitweb
Ujjwal Singh

답변:


620

표시된 이름, 저장소 디렉토리 또는 원격 저장소 이름과 같이 Git 저장소의 이름을 바꾸는 의미에 대한 다양한 해석이 있습니다. 각각의 이름을 바꾸려면 다른 단계가 필요합니다.

표시 이름

표시된 이름을 바꾸십시오 (예 gitweb:로 표시 ).

  1. .git/description저장소 이름을 포함하도록 편집하십시오 .
  2. 파일을 저장하십시오.

리포지토리 디렉토리

Git은에 사용되는 저장소를 포함하는 디렉토리의 이름을 참조하지 않으므로 git clone master child간단히 이름을 바꿀 수 있습니다.

  1. 명령 프롬프트 (또는 파일 관리자 창)를 엽니 다.
  2. 저장소 디렉토리를 포함하는 디렉토리로 변경하십시오 (즉, 저장소 디렉토리 자체로 이동하지 마십시오).
  3. 디렉토리 이름을 바꾸십시오 (예 : mv명령 행에서 사용 하거나 F2GUI 에서 단축키 사용).

원격 리포지토리

다음과 같이 원격 저장소의 이름을 바꾸십시오.

  1. 원격 호스트로 이동하십시오 (예 : https://github.com/User/project ).
  2. 호스트의 지시에 따라 프로젝트 이름을 바꿉니다 (호스트마다 다르지만 일반적으로 설정 은 좋은 시작점입니다).
  3. 로컬 저장소 디렉토리로 이동하십시오 (예 : 명령 프롬프트를 열고 저장소 디렉토리로 변경).
  4. 새로운 URL을 확인합니다 (예를 들어 git@github.com:User/project-new.git)
  5. Git을 사용하여 새 URL을 설정하십시오.

    git remote set-url origin git@github.com:User/project-new.git
    

3
두 번째 경우, 이미 리포지토리를 복제 한 사람은 어떻게됩니까?
Frederico Schardong

3
나쁘지 않아 원래 이름은 유지하지만 원격은 잘못되었습니다. 업데이트를 가져 오려면 새 이름에 연결해야합니다. 당신과 그들이 동기화하거나 중앙 저장소라면 원래 이름을 유지하고 모든 것이 계속 작동합니다.
Alex Brown

14
하위 모듈을 사용하는 경우 "git이이 디렉토리 이름을 참조하지 않습니다"라는 어설 션이 잘못되었습니다. git은 하위 모듈을 참조하기 위해 절대 경로를 사용하므로 리포지토리 디렉토리의 이름을 바꾸면 하위 모듈이 손상됩니다. 참조 stackoverflow.com/questions/10144149/...
에드워드

Windows GUI 용 GitHub를 사용하고 있으며 .git / description 파일을 변경할 필요가 없습니다 (파일이 없습니다). 원점을 재설정하는 마지막 단계를 수행 한 후 GUI에 표시된 이름이 변경되었습니다.
Joe Ernst

4
사람들은 계속해서 .git / description을 언급하지만 실제로 repo의 이름을 변경하기 위해 어떤 변화를 넣었는지 언급하지 않았습니다.
프로그래머 Unextraordinair

24

Git 리포지토리에는 이름이 없습니다. 원하는 경우 작업 트리가 포함 된 디렉토리의 이름을 바꿀 수 있습니다.


7
예, 자식 저장소에는 이름이 있습니다. 이름을 바꾼 $ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
후이

@Sawny, 나는 그것이 무엇과 관련이 있는지 보지 못합니다.
Tobu

19
git repo는 이름이 없다고 말했지만 사실이 아닙니다. 하위 모드를 사용하고 폴더 이름을 바꾸면 git에서 오류가 발생합니다. 참조 stackoverflow.com/questions/9878860/...
Sawny

6
자, git 저장소 내 서브 모듈의 경로가 중요합니다. 사실이지만이 특정 질문과 관련이 없습니다.
Tobu

5
물론 리포지토리에는 이름이 있습니다. 변경 방법은 아래를 참조하십시오.
Danny Remington-OMS

19

로 이름 PRJ0.gitPROJ1.git바꾼 다음 .git/config프로젝트 파일에 있는 URL 변수를 편집하십시오 .


15

예를 들어 새 저장소에서 $ git init 에서 .git 디렉토리에는 .git / description 파일이 포함됩니다.

이것은 다음과 같습니다

Unnamed repository; edit this file 'description' to name the repository.

로컬 저장소에서이를 편집해도 원격 저장소에서는이를 변경하지 않습니다.


알렉스 브라운의 대답은 당신을 포함했습니다.
Yantao Xie

13

저장소 이름을 바꾸려면 저장소로 이동하여 "관리자"를 클릭 한 다음 이름을 바꿉니다.

하늘 낙하 및 기타 사항에 대해 경고하는 빨간색 상자가 표시되면 이 질문을 읽으십시오 .


12
이것이 Github 관련 제안이며 Git에는 일반적으로 적용되지 않는다는 사실을 다른 사람들이 알아볼 수 있습니다.
founddrama

1
2013 년 1 월 현재 github 명령어는 다음과 같아야합니다 (github에 로그인), 리포지토리로 이동 한 다음 "설정">> "옵션"으로 이동하여 이름 바꾸기 버튼을 찾으십시오. 나쁜 일이 일어나고 있다는 빨간 경고와 관련하여 Droogans는 다른 것과 연결되므로 질문을 강력히 권장합니다.
pestophagous

12

GitHub 계정의 저장소 이름을 바꾸려면 :

  1. 이름을 바꾸려는 특정 저장소로 이동하십시오.
  2. 설정 탭으로 이동
  3. 저장소 이름 섹션에서 입력하려는 새 이름을 입력하고 클릭하십시오. Rename

GitHub 질문이 아니라 git에 관한 것입니다.
robrecord

10

GitLab 또는 GitHub를 사용하는 경우 해당 파일을 그래픽으로 수정할 수 있습니다.

GitLab 사용

프로젝트 설정으로 이동하십시오 . 여기에서 프로젝트 이름을 수정할 수 있으며 가장 중요한 것은 리포지토리의 이름을 바꿀 수 있습니다 (위험 섹션에 들어가기 시작할 때).

이 작업이 완료되면 로컬 클라이언트 구성을 사용하여 업데이트해야합니다.

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git

9
  • 서버 측에서 평소 와 같이 mv 명령을 사용하여 저장소의 이름을 바꾸십시오 .

    mv oldName.git newName.git
    
  • 그런 다음 클라이언트 측에서 [remote "origin"]URL 값을 새 값으로 변경하십시오 .

    url=example.com/newName.git
    

그것은 나를 위해 일했다.


8

Eclipse에 있고 Egit을 설치 한 경우 다음을 수행하여 프로젝트가 포함 된 저장소의 이름을 바꿀 수 있습니다.

1) Eclipse에서 : 저장소에있는 모든 프로젝트를 닫으십시오.

2) 파일 시스템에서 : 저장소가 포함 된 디렉토리 / 폴더를 찾으십시오.

3) 파일 시스템에서 : 리포지토리가 포함 된 디렉터리 / 폴더의 이름을 바꿉니다.

4) 파일 시스템에서 : 리포지토리가 포함 된 디렉토리 / 폴더를 열고 이름을 바꾸려는 프로젝트의 프로젝트 디렉토리 / 폴더 이름을 바꾸어 새 프로젝트 이름과 일치시킵니다. 이것은 필수는 아니지만 Eclipse의 프로젝트 이름과 저장소의 프로젝트 디렉토리 / 폴더간에 일관성을 제공합니다.

5) Eclipse에서 : 저장소에있는 모든 프로젝트를 삭제하지만 '파일 시스템에서 컨텐츠 삭제'확인란을 선택 하지 마십시오 . (프로젝트는 더 이상 파일 시스템 내용의 올바른 위치를 포함하지 않아야하므로 어떤 경우에도 데이터를 삭제할 수는 없지만 미안보다 안전합니다.)

6) Eclipse : 메뉴에서 File | Import ... 옵션을 선택하십시오.

7) Eclipse : 대화 상자에서 'Git'폴더를 열고 'Git에서 프로젝트'를 선택하고 '다음'을 클릭하십시오.

8) Eclipse : 대화 상자에서 'Local'을 선택하고 'Next'를 클릭하십시오.

9) Eclipse : 대화 상자에서 '추가 ...'버튼을 클릭하십시오.

10) Eclipse : 대화 상자에서 저장소 옆의 확인란이 선택되어 있는지 확인하고 '마침'을 클릭하십시오.

11) Eclipse : 대화 상자에서 저장소를 선택하고 '다음'을 클릭하십시오.

12) Eclipse : 대화 상자에서 '기존 프로젝트 가져 오기'단일 선택 단추를 선택하고 "작업 디렉토리"를 선택한 후 "다음"을 클릭하십시오.

13) Eclipse : 대화 상자에서 작업하려는 프로젝트 옆의 확인란을 선택하고 '마침'을 클릭하십시오.

14) Eclipse에서 : 원하는 경우 저장소에있는 프로젝트의 이름을 바꾸십시오. (Eclipse와 파일 시스템 간의 일관성을 위해 저장소 디렉토리 / 폴더 내의 프로젝트 디렉토리 / 폴더와 동일한 이름을 지정하십시오.)


+1 (이클립스에서이 단계에 필요한 14 단계로 인해 놀라고 놀라지 않음, 특히 'Egit를 설치 한 경우', 수십 단계가 더 필요합니다 ...)
Jack Wasey

7

Git 자체에는 리포지토리 이름을 지정할 수있는 권한이 없습니다. 루트 디렉토리의 이름은 저장소 이름과 관련된 단일 소스입니다.

.git/description하지만은 같은 일부 응용 프로그램에서 사용됩니다 GitWeb .



4

간단히 말해, 디스크에서 컨텐츠를 선택하지 않고 해당 Eclipse 프로젝트를 제거한 다음 프로젝트를 다시 가져 오십시오.

Eclipse는 Git에 연결된 프로젝트를 식별하여 Git 투시도에 넣습니다.

그것은 매력처럼 작동합니다.


5
이것은 원래 질문에 대한 답변이 아닙니다.
mjuarez


4

리모컨으로 Github 사용

Github에서 원격 저장소 이름 바꾸기

원격 리포지토리와 관련하여 리포지토리를 원격으로 저장 / 배포하기위한 서버 위치로 Github 또는 Github Enterprise를 사용하는 경우 리포지토리 설정에서 리포지토리의 이름을 직접 변경할 수 있습니다.

기본 리포지토리 페이지에서 설정 탭은 오른쪽에 있으며 리포지토리 이름은 페이지의 첫 번째 항목입니다.

여기에 이미지 설명을 입력하십시오

Github은 요청을 새로운 URL로 리디렉션합니다

리포지토리 이름을 바꿀 때 Github에서 매우 유용한 기능 중 하나는 Github가 기존 리포지토리 이름과 모든 관련 URL을 저장하고 트래픽을 새 URL로 리디렉션한다는 것 입니다. 사용자 이름 / 조직 및 리포지토리 이름은 URL의 일부이므로 이름을 바꾸면 URL이 변경됩니다.

Github는 기존 repo 이름을 저장하고 요청을 새로운 URL로 리디렉션하므로 이슈, 위키, 별 또는 팔로워에 액세스 할 때 이전 repo 이름을 기반으로하는 링크를 사용하는 사람은 여전히 ​​Github 웹 사이트의 새 위치에 도착합니다. Github에서도 망할 놈의 명령이 좋아하는 낮은 수준의 리디렉션 git clone, git fetch

자세한 내용은 Repo 이름 바꾸기를위한 Github 도움말에 있습니다.

로컬 리포지토리 이름 바꾸기

다른 사람들이 언급했듯이 리포지토리의 로컬 "이름"은 일반적으로 루트 폴더 / 디렉토리 이름으로 간주되며 폴더를 임의의 위치로 변경, 이동 또는 복사 할 수 있으며 리포지토리에는 전혀 영향을 미치지 않습니다.

Git은 루트 폴더 안에있는 파일들만 걱정하도록 설계되었습니다.


"누군가가 이전 레포 이름을 기반으로하는 링크를 사용하는 경우 Github 웹 사이트의 새 위치에 계속 도착합니다." 예, 그런 기능이 있습니다. 같은 일이의 Bitbucket 유효 : community.atlassian.com/t5/Bitbucket-questions/... . 이전 이름에 대한 참조를 완전히 파괴하는 방법을 아는 것이 좋을 것입니다. 전체 이름 바꾸기에 대한 올바른 절차를 알고 있으면 좋을 것입니다 (이전 항목을 모두 파괴 함).
Alexander Samoylov

@AlexanderSamoylov 나는 여기서 추측하고 있지만 오래된 형식으로 저장된 것이 무엇인지 진심으로 의심합니다. Github은 기존 아카이브 이름을 예약 한 상태로 유지하고 기존 아카이브 이름으로 들어오는 트래픽을 새로운 아카이브 이름으로 리디렉션해야합니다. 즉 , 모든 것이 이동 된 곳으로 https://github.com/oldrepo/some_path리디렉션 https://github.com/newrepo/some_path됩니다. 유일한 단점은 이전 repo 이름이 영구적으로 예약되어 재사용 할 수 없다는 것입니다 (이전 URL에 액세스 한 사람들을 저장하지 않은 사람들을 피하는 것도 좋습니다).
LightCC



0

브라우저에서 자식 저장소를 열고 "설정"으로 이동하면 이름 바꾸기 버튼을 볼 수 있습니다.

새로운 "리포지토리 이름"을 입력하고 "이름 바꾸기"버튼을 클릭하십시오.


0

대신 기존 Git을 다시 초기화하기 package.json위해 프로젝트 이름을 변경 하고 명령 git init을 실행 해 보셨습니까 ?

기존 Git 히스토리는 여전히 존재합니다.


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