일모도원(日暮途遠) 개발자

[Git] 로컬 에서 작업중인 소스를 GitHub에 Repo만들고 올리기 본문

개발/Git

[Git] 로컬 에서 작업중인 소스를 GitHub에 Repo만들고 올리기

달님개발자 2022. 10. 14. 18:56

현재 맥에서 koicamovie라는 안드로이드 앱을 만들고 있다.

 

GitHub에 올릴려고 GitHub에 Repo를 만들고 나니, 이미 로컬에 소스가 있으면 아래 명령어로 올리라고 한다.

 

git remote add origin https://github.com/dalnim/koicamovie.git
git branch -M main
git branch

 

첫번째는 Git에게 원격 repo를 등록하는 명령어로 별로 어렵진 않다.

[18:49] Location: ~/Documents/workspace/Koica/KoicaMovie
git:(master)> git remote add origin https://github.com/dalnim/koicamovie.git

 

근데 "git branch -M main"라는 옵션은 첨봤다. 찾아보니, master 브랜치 대신 main을 사용하게 해주는 옵션이다.

 

-M is a flag (shortcut) for --move --force per the docs page on git branch. It renames the branch main (since the default branch name for repositories created using the command line is master, while those created in GitHub [starting in Oct. 2020] have a default name of main) and forces it (allows renaming of the branch even if the new branch name already exists).

https://errorsfixing.com/what-does-the-m-mean-in-git-branch-m-main/

 

git branch -M main을 하기전에는 master브랜치였는데, 이후에는 main브랜치로 바꾼것을 볼수 있다.  git branch 명령어로 현재 브랜치들을 보면 더이상 main이란 브랜치는 없는것을 확인할수 있다. 

왜 master라는 이름을 없앴는지 궁금하다. 혹시 master라는 용어가 slave가 생각나게 하는 용어라서 PC(Political Correctness, 정치적 올바름)에 위반되는거라서 그런걸까?

 

[18:49] Location: ~/Documents/workspace/Koica/KoicaMovie
git:(master)> git branch -M main

[18:49] Location: ~/Documents/workspace/Koica/KoicaMovie
git:(main)> git branch

 

"git push -u origin main"에서  "origin"은 원격저장소, "main"은 브랜치명(원격과 로컬)이다.

-u옵션도 첨 보는거라서 찾아보니 기존에 push, pull할때 일일히 브랜치 명을 적어주는것을 브랜치 명(-u옵션으로 정해준 main브랜치 명) 없이 그냥 "git push", "git pull"처럼 사용할수 있게 해주는거다.

 

근데 main브랜치는 아무때나 push, pull하는게 아니고 중요한 시점에만 push하는데, 이 옵션이 나한테 의미가 있나 싶다. 여전히 working이나 별도 브랜치를 계속 원격저장소에 push, pull할거 같은데..

 

[18:49] Location: ~/Documents/workspace/Koica/KoicaMovie
git:(main)> git push -u origin main
Enumerating objects: 1324, done.
Counting objects: 100% (1324/1324), done.