STUDY 📒/git & github

Git 브랜칭을 배워봅시다. (Learn Git Branching ) - main 1. git 기본

South Dev 2023. 12. 7. 22:46

Git 브랜칭으로 쉽게 이해 하기

https://learngitbranching.js.org/?locale=ko

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

해당 사이트로 굉장히 쉽게 git 을 배울 수 있다.

 

✅ git commit 소개


커밋은 Git 저장소에 여러분의 디렉토리에 있는 모든 파일에 대한 스냅샷을 기록하는 것이다.

각 커밋은 저장소의 이전 버전과 다음 버전의 변경내역("delta"라고도 함)을 저장한다. 그래서 대부분의 커밋이 그 커밋 위의 부모 커밋을 가리킵니다.

 

저장소를 복제(clone)하려면 모든 변경분(delta)를 풀어내야 하는데, 이 때문에 명령행 결과로 아래 문구를 볼 수 있습니다.

resolving deltas

 

git commit

git commit

 

✅ git에서 branch 쓰기


브랜치는 특정 커밋에 대한 참조(reference)에 지나지 않습니다.

브랜치를 많이 만들어도 메모리나 디스크 공간에 부담이 되지 않기 때문에, 여러분의 작업을 커다른 브랜치로 만들기 보다, 작은 단위로 잘게 나누는 것이 좋습니다.

 

브랜치를 "하나의 커밋과 그 부모 커밋들을 포함하는 작업 내역"이라고 기억하시면 됩니다.

git commit

git branch bugFix

git branch bugFix

브랜치를 새로 만들었어도 번거롭지만

새로 만든 bugFix로 경로 이동을 위해서 checkout 을 사용해야 한다.

git checkout bugFix

 

git checkout bugFix

 

✅ git merge - 브랜치와 합치기(Merge)


이제부터 배우는 방법으로 브랜치를 따고, 새 기능을 개발 한 다음 합칠 수 있게 될 것입니다.

git merge

Git의 합치기(merge)는 두 개의 부모(parent)를 가리키는 특별한 커밋을 만들어 냅니다.

두개의 부모가 있는 커밋이라는 것은 "한 부모의 모든 작업내역과 나머지 부모의 모든 작업, 그리고 그 두 부모의 모든 부모들의 작업내역을 포함한다"라는 의미가 있습니다.

 

git commit

 

  • bugFix 라는 새 브랜치를 만듭니다.
git branch bugFix

git branch bugFix

  • git checkout bugFix 를 입력해 bugFix 브랜치로 이동 ( checkout ) 합니다.
git checkout bugFix

git checkout bugFix

  • 커밋 한 번 하세요.
git commit

git commit

  • git checkout 명령어를 이용해 main 브랜치로 돌아갑니다.
git checkout main

git checkout main

  • 커밋을 또 하세요
git commit

 

git commit

  • git merger 명령어로 bugFix 브랜치를 main에 합쳐 넣습니다.
git merge bugFix

 

git merge bugFix

 

✅ git rebase


리베이스는 기본적으로 커밋들을 모아서 복사한 뒤, 다른 곳에 떨궈 놓는 것입니다.

리베이스를 하면 커밋들의 흐름을 보기 좋게 한 줄로 만들 수 있다는 장점이 있습니다. 리베이스를 쓰면 저장소의 커밋 로그와 이력이 한결 깨끗해집니다.

git commit

  • git merger 명령어로 bugFix 브랜치를 main에 합쳐 넣습니다.
git branch bugFix
git checkout bugFix

git branch bugFix,  git checkout bugFix

  • 커밋 한 번 합니다.
git commit

git commit

  • main 으로 이동 ( checkout ) 후 commit 합니다.
git checkout main
git commit

 

git checkout main, git commit

 

  • bugFix를 다시 선택하고 main에 리베이스 하세요
git checkout bugFix
git rebase main

 

git checkout bugFix, git rebase main

 

반응형