Repository에 'main' branch로 push 하는 법

CHAN LIM·2022년 7월 7일
0

Git&Github

목록 보기
3/5

1. Github 회원이 아니라면, 회원가입을 합니다.

Github

2. Github에서 New Repository를 생성합니다.

  • 여기서 README.md를 추가한다면, 이 레포지토리에서는 main이 Default Branch로 설정될 것입니다.
  • 추후에 Default branch는 설정에 들어가서 변경할 수 있습니다.

3. Local git 저장소를 생성합니다.

  • (VScode 기준으로) 해당되는 곳에서 Terminal를 열어서 다음 명령어를 실행합니다.
$ git init

4. 현재까지의 소스를 로컬 Git 저장소에 저장합니다.

$ git add .
$ git commit -m "first commit"

5. 로컬 Git 저장소와 Github Remote를 연결시킵니다.

  • 레포지토리에서 Code를 클릭하여 해당 레포지토리의 주소를 확인합니다.
  • 이후 vscode로 돌아와 다음의 명령어를 실행합니다.
$ git remote add origin https://github.com/ChanLim-BD/docker-app-handsout.git

6. Push하기

$ git push -u origin master
  • 위의 명령어를 실행하면, 방금 연결한 원격저장소의 브랜치 중 이름이 master인 브랜치에 push를 하라는 의미입니다.
  • 이전에는 Default 브랜치가 master였는데 최근 Github의 업데이트로 Default 브랜치가 main으로 바뀌었습니다.

(이때의 master가 master-slave 에서의 master이기 때문에, Black lives matter 운동의 연장으로
미국 IT업계에서는 논란이 많은 master-slave, blacklist-whitelist 와 같은 언어적 문제를 해결하려는 움직임이 있습니다.)

  • 그러나 vscode에서는 아직 Default 브랜치가 master로 설정되어 있어서 에러가 발생합니다.

해결방법 : vscode에서 branch 이름을 바꿔줍니다.

$ git branch -M [되고싶은 branch name]
$ git branch -m [현재 branch name] [바꾸고싶은 branch name]

즉,
$ git branch -m master main

위와 같이 명령어를 실행하면 default branch 이름이 변경됩니다.

(default branch가 변경된 상황)

이후, README.md 파일을 추가한 사용자는 pull을 한 번 시도해주고 push를 하면 됩니다.

$ git pull origin [branch name]

$ git push -u origin main


Summary

//로컬 깃 저장소 생성(.git 폴더 생성)
$ git init

//Working directory -> Staging Area
$ git add [directory]
$ git add .

//Staging Area -> repository(.git)
$ git commit -m "commit message"

//원격저장소와 연결
$ git remote add origin [원격저장소 주소]

//브랜치 명 바꾸기
$ git branch -M [branch name(main)]
$ git branch -m [현재 branch name] [바꾸고싶은 branch name]

//(선택) README.md가 있다면 : push 보다 pull 먼저
$ git pull origin [branch name(main)]

//로컬 레포지토리 -> 원격 레포지토리
$ git push -u origin [branch name(main)]


//파일 수정 및 추가 이후 : 다음번 commit & push
$ git pull origin [branch name] (선택:다른 장소에서 작업한게 없으면 안해도 됨)
$ git add [directory]
$ git commit -m "commit message"
$ git push -u origin [branch name]

Reference

초반 Git 부분은 본 강의에서,
이 분 글을 거의 가져왔습니다.

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글