- Published on
깃허브 레파지토리 합치기 및 토큰 만들기
- Authors
- Name
- 기술 라이브러리
깃허브: 레파지토리 합치기 및 토큰 만들기
깃허브를 사용하면서 코드를 커밋할 때마다 레파지토리가 늘어나는 문제가 발생합니다. 이러한 상황에서 레파지토리를 정리하고 싶어도 커밋 기록 등이 날아가면 안됩니다. 왜냐하면 잔디밭이 듬성듬성하게 되면서 불필요한 레파지토리를 관리하는 것이 어려워지기 때문입니다.
이에 대한 해결책으로 레파지토리를 하나로 합쳐주는 방법이 있습니다. 이를 위해 깃허브 개인토큰을 만들어야 합니다. 인증방식이 변경되어 깃허브 비밀번호로는 push가 안되므로 개인토큰을 만들어야 합니다.
깃허브 개인토큰 만들기
개인토큰을 만들기 위해서는 먼저 깃허브 개인 설정에서 토큰을 생성해야 합니다. 토큰을 생성하려면 다음과 같은 경로를 따르면 됩니다: settings - developer settings - Personal access tokens - Generate new token. 토큰을 생성할 때는 조건을 모두 체크하고 저장해야 잘 작동한다는 것을 기억해 주세요.
깃허브 레파지토리 하나 만들기
하나로 합쳐질 레파지토리를 만듭니다. 여러 곳에 있는 파일을 이 곳에 담습니다. 예를 들어, 지금까지 해왔던 스터디 내용을 담을려면 'Study'라는 이름으로 레파지토리를 만들 수 있습니다.
git clone 하기
git clone은 다른 개발자들과 협업을 통해 코드를 만들어가는 곳에서 오류를 줄이기 위해 수정사항을 바로 업로드하지 않고 원격저장소에 잠시 저장하는 방식입니다. 이를 통해 원격저장소를 만들 수 있습니다. clone은 생성할 때 이름에 '자동추적기능'을 달아줍니다. 생성 방법은 다음과 같습니다: git clone [레파지토리주소].
remote로 추가해주기
하나로 합쳐줄 폴더에는 clone을 만들었습니다. 가져올 폴더들의 remote를 만들어주어야 합니다. remote의 경우 이름을 지정해줘서 추적하게 만들 수 있습니다. remote의 형식은 다음과 같습니다: git remote add [내가 정하는 remote 이름] [옮기고 싶은 레파지토리 URL.git]. 예를 들어, Study 폴더에 있는 파일들을 study001이라는 폴더에 넣고 싶다면 Study 폴더에서 study001에 대한 remote를 설정하면 됩니다.
subtree 사용
git subtree add는 하위 구조로 추가해주는 명령어입니다. 사용 방법은 다음과 같습니다: git subtree add --prefix=[만들어줄 디렉토리 이름] [remote 이름] [branch명=보통은 master, main]. 구문 실행시, 'Study'폴더에 study001 이름의 폴더가 만들어지고 저장된 remote의 파일이 들어갑니다.
git push
잔디밭이 파괴될 수 있어서 하나만 옮겨보기로 했습니다. git push 입력 후 git 닉네임과 토큰 비밀번호를 입력하면 됩니다. 그리고 원래 레파지토리를 지워도 기록이 유지됩니다.
추가 정보
레파지토리 안에 폴더 수동으로 만들기
레파지토리 안에서 폴더를 수동으로 만들 수 있습니다. 이를 위해서는 add file 버튼 - create new file 클릭 후 원하는 폴더명+'/' 슬래시를 입력하면 자동으로 폴더가 생성됩니다.
레파지토리 수동으로 지우기
해당 레파지토리 Settings에 들어가고 들어가자마자 맨 밑으로 내리면 맨 아래 Danger Zone의 Delete this repository를 통해 지울 수 있습니다.
remote 잘못 입력했을 때 지우기
git remote rm [리모트 이름]을 사용하여 remote를 삭제할 수 있습니다.
git push
푸쉬할 양이 많고 하필 충돌이 발생했을 때 git push -f를 사용하여 강제로 푸쉬할 수 있습니다. 하지만 비상 시에만 사용하며, 신중하게 사용해야 합니다.
위와 같은 방법을 사용하여 깃허브 레파지토리를 합치고 관리할 수 있습니다. 이를 통해 불필요한 레파지토리를 줄이고 효율적인 개발 환경을 구축할 수 있습니다.