내배캠 하다보면 GitHub에 Repository가 많이 생기면 복잡할 것 같은데 깔끔하게 못하나 싶어서 검색하다가 Subtree라는 방법을 찾았다.
Subtree는 여러 저장소를 통합하는 개념으로 레포지토리 안에 레포지토리를 저장하는 것이다.
근데 이거 너무 복잡하고 어려워서 거의 포기 상태😭
레포지토리를 만들었다 지웠다만 몇번 한건지ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그러던 와중에 매니저님이 폴더 구조 잡는 방법을 알려주셨다👍
subtree보다 훨씬 간단하고 다시 설명을 안찾아봐도 쉽게 할 수 있을 것 같다!!
가장 상위 폴더를 로컬에 만들어주세요!
이 폴더에 여러 프로젝트를 넣을 예정입니다.
🚨 주의할 사항
.git
파일이 없어야 합니다.GitHub에서 레포지토리를 하나 만들어주겠습니다.
전 Add .README.md
를 체크했습니다.
그래야 나중에 로컬과 원격 저장소가 연결 됐는지 확인할 때 조금 편합니당
그리고 Add .gitignore
는 이 레포지토리에서 사용할 언어를 선택해주면 되는데, 저는 Kotlin을 공부하기 때문에 Kotlin을 선택했습니다!
다시 로컬 폴더로 갑시다!
생성한 폴더에 우클릭 해서 Git Bash Here
을 클릭해야 되는데 전 Windows11이라서 한 단계 더 거쳐야 됩니당ㅠㅠㅠㅜㅜWindow11인 분들은 우클릭 > 추가 옵션 표시 > Open Git Bash here
순으로 해주세요.
Git Bash에 명령어 몇가지를 적어줄게요!
git init
은 Git 저장소를 새로 만드는 명령입니다.
폴더를 확인 해보면 .git
이 생성된 것을 볼 수 있어요.
혹시 안보인다면 숨긴항목을 체크해주세요.
Windows11은 상단에서 보기 > 표시 > 숨긴 항목 순으로 보면 있습니다.
우선 레포지토리와 로컬 폴더를 연결해봅시다!!
git remote add origin <Repository URL>
GitHub에서 레포지토리의 URL을 복사해서 Git Bash에 붙여넣어주세요.
그리고 git remote -v
를 입력해 잘 연결이 됐나 확인해주세요.
연동은 됐지만 바로 Push가 가능한 상태는 아니에요.
아까 레포지토리를 만들 때 README.md 추가를 선택해서 만들어졌는데 로컬 폴더에는 없어요. 즉, 원격 저장소가 더 최신이라는 거죠.
git pull origin master
를 입력해 버전을 맞춰봅시다!
아....현재 브랜치 위치는 master로 확인되는데, 이전 포스트에 올렸던 것처럼 GitHub의 기본 브랜치는 main라서 그런 것 같습니다ㅠㅠㅜㅠ
일단 main으로 명령어를 수정해서 입력해보겠습니다!
pull이 잘 실행됐다고 표시가 되고 로컬 폴더에는 .gitignore
파일과 README.md
파일이 생겼어요👍
브랜치 목록을 확인해볼까요?
로컬 브랜치는 master인데 원격 브랜치는 main이네요😭
여러 해결 방법이 있겠지만 제가 아는건 2개에요.
1) 브랜치 이름이 다른 건 브랜치 이름을 바꿔주기
2) 로컬에 main 브랜치를 새로 파서 master 브랜치의 내용을 덮어쓰기
저는 2번으로 했고, 이 내용은 이 링크를 참고해주세요!!
새로운 프로젝트를 폴더에 추가할 때마다 위 과정은 제외하고 이 과정을 해주시면 됩니다!
새로운 프로젝트를 아까 만든 폴더 안에 만드는 방법으로 알아봅시다!
프로젝트를 하나 만드는데 저장 위치를 잘 설정해줘야 됩니다.
아래 스크린샷을 참고해주세요.
로컬 폴더에서 방금 생성한 프로젝트를 확인할 수 있죠?
이 프로젝트를 Commit & Push를 진행하면 끝입니다!!
Commit과 Push를 하고 나면 원격에서도 정상적으로 업로드된 걸 확인할 수 있습니다👍
위에서 설명한 방법은 프로젝트를 시작할 때 적용하면 좋은 것 같고
subtree는 프로젝트 시작했거나 끝났을 때 적용하면 좋을 것 같다.
[참고 사이트]
'Android Studio와 GitHub 연동', kiyoog02.log
'[Gitub] 폴더 추가하기', 개발노트