본문 바로가기
Git

SpringBoot 프로젝트 GitHub에 올리기(main 브랜치 사용)

by proudofch 2020. 12. 24.

나는 원래 이클립스나 STS에서 Team - Share Project ... 이렇게 해서 툴에서 직접 GitHub로 최초 commit, push를 하고... 그 다음에 소스트리에서 commit, push를 하는 식으로 작업했는데... 문제가 생겼다.

 

GitHub에서 master브랜치의 명칭을 main 브랜치로 바꾸었는데, 이게 내 STS4에선(STS 업데이트하면 반영됐을지는 모르겠다) 반영이 안돼서 push만 하면 master 브랜치가 생기는 거다...^^... GitHub Repo 생성할 때 README 포함해서 만들면 main 브랜치는 따로 생기고....  그러니까 master, main 브랜치 두 개를 가지게 되는 셈

 

그냥 settings에서 default 브랜치를 master로 바꾸면되지만... 기껏 바꾼 명칭인데 좀 써보고 싶어서... 하다가... 개삽질했다....... 몇 시간을...^_ㅠ

 

정리해본다.

 

나는 새 프로젝트를 GitHub에 올리고 시작하고 싶었던 거라

1. STS4에서 새 프로젝트를 만들었다.

2. GitHub에서 새 Repository를 생성

* 3은 주의해서 실행. 아래 추가 부분 참고 * 

3. 새 프로젝트 폴더로 들어가 Git Bash를 켜  $ git config --global init.defaultBranch main (Git의 버전이 낮으면 할 수 없다. 주소 참조한 블로그 참고...)

4. $ git init (그럼 보통 (master)로 생기던 브랜치가 (main)으로 생긴다) 이렇게

5. $ git add . (처음 커밋하는 거라 모든 파일을 올렸다)

6. $ git commit -m "first commit" (따옴표 안에는 커밋 메시지를 쓴다)

7. $ git branch -M main (별 반응 없었던 거 보면 3번에서 이미 main 브랜치를 default 값으로 잡아서 그런듯?)

8. $ git remote add origin 깃허브주소 (새로 만든 repo를 원격저장소로 설정)

9. $ git push -u origin main (원격저장소로 push)

10. 성공 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

 

소스트리에선 새탭 열어서 Add 누르고 로컬저장소 경로를 줬더니 알아서 읽었다.

저 과정 중간에 어디선가 해서... 모르겠네... 그냥 제일 마지막에 해도 될 듯하다.

 

그리고 README는 main 브랜치에 생기고 내 repo는 자꾸 master 브랜치에 올라가서 개짱나서 README를 안 만들었더니 이런 게 나왔다....^^....

^^.... 어제 봤으면 참 좋았을 텐데....

나는 네번째줄부터 따라했다.

이대로 똑같이 따라한다고 하면 init 전에 init.defaultBranch는 안 해도 될 거 같은데.... 하도 삽질해서 다시 할 기운이 업따. 그냥 나중에 해봐야겠당

 

이거 하면서 Git Bash랑 소스트리의 오만가지 오류를 봄....... ㅎ.... git은 왜 해도해도 어렵지

 

* 추가

GitHub에 올린 다른 Repo에서 git config --list로 확인해보니 init.defaultBranch=main으로 되어 있었다. 

$ git config --global init.defaultBranch main 은 전역 설정이라 모든 repo에 영향이 가는 거 같다. 위 이미지대로 git branch -M main을 쓰는 게 좋을 듯? 정확히 무슨 역할을 하는지는 모르겠지만.

config를 바꾸면 앞으로 새로 생성하는 repo의 기본 브랜치는 main이 될 것 같고, 

일단 기존 repo의 commit, push에는 영향을 주지 않는 것을 확인했다! (계속 master 브랜치 사용함)

 

 

 

 

 

참고한 블로그

blog.outsider.ne.kr/1503

 

Git의 기본 브랜치를 master에서 main으로 변경하기 :: Outsider's Dev Story

올 6월 Go 언어가 인종차별적 요소나 주종 관계의 의미를 담고 있는 [whitelist/blacklist와 master/slave라는 용어를 프로젝트에서 제거하기로 결정](https://go-review.googlesource.com/c/go/+/236857/)하면서...

blog.outsider.ne.kr

 

'Git' 카테고리의 다른 글

Git Bash, SourceTree에서 commit은 되나 push되지 않을 때  (0) 2020.12.18
Git Bash로 commit, push하기  (0) 2020.12.17

댓글