팀 프로젝트 종료 후 프로젝트의 소스코드를 포함한 commit, branch등 모든 기록을 개인 Repository로 옮기기 위해 Windows cmd에서 git 명령어를 사용할 수 있도록 설정해두었다.
git 명령어를 사용하여 Organization Repository를 개인 Repository로 옮겨보자!
순서는 아래와 같다
- Organization Repository의 소스코드를 내 PC(local)로 클론(clone) 받는다.
- 내 GitHub에 새롭게 Repository를 생성하고, 내 PC에 클론받은 소스코드를 push한다.
git clone시
--mirror
옵션을 주면 원격 repo의 모든 참조가 그대로 복사된다
원격 repo는 내가 클론해 올 깃허브의 Repository를 말하며, 참조는 모든 tag, branch 등을 그대로 가져온다는 뜻이다.
클론받을 폴더를 미리 만들어 둬야하며, 만들어둔 폴더의 상위 폴더에서 cmd창을 실행한 후 아래 명령어를 입력해준다.
git clone --mirror <오리지널 repo 주소> <내 로컬 폴더>
ex) 클론받을 깃허브 주소 ⇒ https://github.com/xxx
내 PC에서 클론받을 폴더의 위치 ⇒ C:\code\repo
입력할 명령어 ⇒ git clone --mirror https://github.com/xxx repo
내 GitHub에 새 Repository를 생성하면 되는데 다른 파일이 존재하는 경우 conflict이 생길수도 있기 때문에 Readme, gitignore등이 없는 Repository 생성을 권장하고 있다.
새 Repository 생성 후 주소는 https://github.com/<깃허브 ID>/<Repository 이름>
형태로 구성이 된다.
cmd 창에서 클론받을 폴더로 이동한 후 내가 생성한 주소를 git remote의 파라메터로 넣어주고, push를 해주는 아래의 명령어를 입력한다.
git remote set-url origin https://github.com/<깃허브 ID>/<Repository 이름>.git
git push
git remote
는 현재 내 PC에 있는 저장소를 원격 저장소로 연결하겠다는 의미이다.- 옵션
set-url
은 현재 설정된 원격 저장소의 주소를 변경한다.
기존에 다른 사람의 깃허브에 연결되어 있던 것을 내가 원하는(= 내가 새롭게 만든) 깃허브 주소로 변경할 수 있는 옵션이다.- 파라메터
origin
은 내가 저장하는 저장소의 이름을 "origin"으로 정하겠다는 의미이다. 이 부분은 내가 알기쉬운 용어로 변경해도 되지만, 관례적으로 origin으로 사용하기 때문에 가급적 변경없이 그대로 진행한다.git push
를 통해 내 PC에 클론받은 폴더 전체를 방금 내가 설정한 깃허브 Repository에 그대로 옮겨놓는 작업을 진행한다.
git push 이후 내 깃 허브에 들어가서 확인하거나, git remote -v
명령어로 확인도 가능하다.
프로젝트 진행시 GitHub Desktop을 이용하여 git을 관리해왔는데, git 명령어를 사용해 보니 방법은 낯설지만 조금 더 상세한 컨트롤이 가능하다는 점을 깨달았다.
GitHub Desktop이 직관적으로 보여 편리하게 사용 가능하지만, git 명령어와 옵션들을 익혀두면 앞으로 더욱 깊이있게 코드를 관리할 수 있을것 같다.
글 잘보았습니다:) 혹시 프로젝트가 종료후에 진행하는게 좋을까요? 하고있는 도중 가지고 와도 괜찮은가요?