program tip

Gitolite로 만든 Git 저장소의 이름을 어떻게 바꾸나요?

radiobox 2020. 9. 25. 07:44
반응형

Gitolite로 만든 Git 저장소의 이름을 어떻게 바꾸나요?


gitolite를 사용하여 Git 저장소를 만들었습니다. 이제 해당 저장소의 이름을 바꾸고 싶습니다.

어떻게 할 수 있습니까?

gitolite의 readme에서는 서버에서 직접 작업해서는 안된다고 말합니다. 하지만이 경우 서버에서 약간의 작업을해야한다고 생각합니다.


gitolite basic-admin 매뉴얼에 명시된대로 :

저장소 이름 바꾸기

이것은 비슷합니다. 에서이 작업을 수행하는 코드가 없습니다 gitolite. 당신이하는 일은 :

  • 서버에 로그온 cd $REPO_BASE(기본값 :) cd ~/repositories

    mv old-name.git new-name.git

  • 당신의 gitolite-관리자 복제, 편집 다시 conf/gitolite.conf및 모든 항목 교체 old-name와를 new-name. 그런 다음 평소대로 추가, 커밋 및 푸시합니다.

이 두 단계의 순서는 중요합니다. 되 돌리지 마십시오 :-)

gitolite3에서 세 번째 단계가 필요합니다.

  • gl-conf저장소에서 파일 편집 하고 저장소 이름을 새 이름으로 변경하십시오.

물론 모든 사용자는 새 저장소 이름을 가리 키도록 자신의 복제 구성을 업데이트해야합니다.


구체적으로 gitolite에 익숙하지 않지만 작동 할 수있는 한 가지 방법은 올바른 이름으로 완전히 새로운 저장소를 만들고 해당 저장소에 코드를 푸시 한 다음 이전 저장소를 삭제하는 것입니다.


Greg Hewgill을 아이디어로 사용하면 구성 파일에서 저장소의 이름을 바꿀 수 있습니다. 먼저 더미 저장소에서 시도해 볼 수 있습니다. 내 의심은 이전 이름이 삭제되고 새 이름이 생성되며 원본을 로컬로 업데이트 한 다음 푸시해야한다는 것입니다.


깨끗한 방법은 새 저장소를 빈 저장소로 만든 후 다음을 수행하는 것입니다.

old는 OLD이고 new (비어 있음)는 NEW라고 가정합니다.

# mkdir /tmp/1
# cd /tmp/1
# git clone OLD_REPO old
# git clone NEW_REPO new
# cd new
# git pull ../old
# git push origin master

또는 OLD에 대한 원격 저장소를 직접 사용할 수 있습니다.

# mkdir /tmp/1
# cd /tmp/1
# git clone NEW_REPO new
# cd new
# git pull OLD_REPO
# git push origin master

이것은 모든 기록을 유지하고 gitolite가 내부를 처리하도록 할 것입니다. 또한 gitolite-admin을 업데이트해야하지만 순서에 제한이 없습니다.

이것은 또한 문제없이 원격으로 작동합니다.

OLD 저장소 삭제는 gitolite의 지침 (로컬)에 따라 수행해야합니다.

참고 URL : https://stackoverflow.com/questions/4708465/how-do-i-rename-a-git-repository-created-with-gitolite

반응형