tool/git

[Github] Repository 합치기, 다른 계정 Repository 복제

dddzr 2023. 9. 7. 01:12

repository 복제

아래 작업은 git bash에서 진행하면 됩니다.

 

1. 기존 리포지토리 클론

먼저 현재 참여하고 있는 Git 리포지토리를 로컬 컴퓨터로 클론합니다.

git clone <현재_리포지토리_URL>

 

2. 새로운 리포지토리 생성

GitHub에서 새 repository를 생성합니다.

 

3. 로컬 리포지토리 변경

로컬에서 클론한 리포지토리의 원격 URL을 변경하여 새로운 리포지토리로 연결합니다. 

git remote set-url origin <새로운_리포지토리_URL>

 

4. 코드 푸시

변경된 로컬 리포지토리를 새로운 리포지토리로 푸시합니다.

git push -u origin master

 

* error

fatal: could not create work tree dir '<repositoryName>': Permission denied

로컬 디렉토리를 생성하려고 할 때 권한이 거부되어 발생합니다.

  • 디렉토리 권한 변경: 현재 디렉토리에 쓰기 권한이 있는지 확인하십시오. 디렉토리를 생성하려면 해당 디렉토리에 쓰기 권한이 있어야 합니다. 필요한 경우 디렉토리 권한을 변경하십시오.
chmod u+w <디렉토리_경로>

// 현재 디렉토리 권한 변경
chmod u+w
  • 다른 디렉토리에 클론: 다른 디렉토리에 Git 리포지토리를 클론합니다. 디렉토리 경로를 지정하여 클론할 수 있습니다.
git clone <현재_리포지토리_URL> <원하는_디렉토리_경로>
  • 관리자 권한으로 실행: 만약 디렉토리 권한을 변경할 수 없는 경우, 터미널 또는 Git 클라이언트를 관리자 권한으로 실행하여 시도할 수 있습니다. 윈도우에서는 "관리자 권한으로 실행"을 선택하고, macOS 또는 리눅스에서는 sudo 명령어를 사용할 수 있습니다. 하지만 관리자 권한으로 실행하는 것은 주의가 필요하며, 실수로 시스템 파일을 수정하지 않도록 주의해야 합니다.

 

fatal: not a git repository (or any of the parent directories): .git

이 오류는 Git 저장소가 현재 디렉토리나 그 부모 디렉토리에서 찾을 수 없기 때문에 발생합니다. git remote set-url 명령을 실행하려면 Git 저장소의 디렉토리에서 작업해야 합니다. 

  • 디렉토리 이동: cd 명령어를 사용하여 이동합니다.
cd <원하는_디렉토리_경로>
  • Git 저장소 초기화: 만약 현재 디렉토리가 Git 저장소가 아니라면, Git 저장소로 초기화해야 합니다. 
git init
  • git bash 재시작