[Git] branch, merge

김민우·2023년 2월 27일
0

https://learngitbranching.js.org/?locale=ko
-> 해당 사이트에서 기본적인 git 명령어를 실습해 볼 수 있다.

  • git commit → 버전 추가
  • git branch 브랜치 이름 → 현재 내용을 그대로 가져와서 복사한다.
  • git branch -D 브랜치 이름 → 브랜치 삭제
  • git checkout 브랜치 이름 → 해당 브랜치로 이동한다.
    • git checkout -b 브랜치 이름 : 브랜치가 없으면 자동으로 브랜치 생성하고 해당 브랜치로 이동한다.
    • HEAD가 해당 브랜치를 가리키도록 한다.
  • git merge 브랜치 이름 → 현재 브랜치와 다른 브랜치를 합친다.
    • 현재 내가 있는 브랜치에서 다른 브랜치의 내용을 합친다. 다른 브랜치는 그대로 존재한다.
  • git rebase 브랜치 이름 → 현재 브랜치를 rebase할 브랜치 앞으로 끌고와서 합친다??

→ merge 와 rebase 차이를 알고가자.

실습을 하기 위해서 git branch 명령어를 통해서 branch를 생성했는데 위와 같은 에러가 났다. 그 이유는 아직 commit을 한번도 하지 않아서이다.

실습1 - branch

  • git init
  • touch c0
  • git add .
  • git commit -m "c0"
  • touch c1
  • git add .
  • git commit -m "c1"
  • git branch -b bugFix
  • git branch -b bugFix2
  • git branch -b bugFix3
  • git checkout main
  • touch c2
  • git add .
  • git commit -m "c2"
  • touch c3
  • git add .
  • git commit -m "c3"
  • touch c4
  • git add .
  • git commit -m "c4"
  • git checkout bugFix3
  • touch c5
  • git add .
  • git commit -m "c5"

-> git branch "브랜치명"을 통해서 브랜치를 생성한다는 것은 기존의 브랜치를 그대로 복사해서 해당 버전을 따로 관리하겠다라는 뜻이다.
-> 위의 그림을 기준으로 main 브랜치로 checkout 하면 해당 폴더에는 c0,c1, c2, c3, c4 파일이 있고 bugFix3로 checkout하면 c0, c1, c5 파일이 존재한다.

실습2 - merge

  • git init
  • touch c0
  • git add .
  • git commit -m "c0"
  • touch c1
  • git add .
  • git commit -m "c1"
  • git branch -b bugFix
  • touch c2
  • git add .
  • git commit -m "c2"
  • git checkout main
  • touch c3
  • git add .
  • git commit -m "c3"
  • touch c4
  • git add .
  • git commit -m "c4"
  • git merge bugFix (main 브랜치 기준에서 bugFix 병합)

-> git log --oneline --graph --all 명령어를 실행한 모습이다.

0개의 댓글