Git 브랜칭을 배워봅시다. (Learn Git Branching ) - main 1. git 기본
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에서 branch 쓰기
브랜치는 특정 커밋에 대한 참조(reference)에 지나지 않습니다.
브랜치를 많이 만들어도 메모리나 디스크 공간에 부담이 되지 않기 때문에, 여러분의 작업을 커다른 브랜치로 만들기 보다, 작은 단위로 잘게 나누는 것이 좋습니다.
브랜치를 "하나의 커밋과 그 부모 커밋들을 포함하는 작업 내역"이라고 기억하시면 됩니다.

git branch bugFix

브랜치를 새로 만들었어도 번거롭지만
새로 만든 bugFix로 경로 이동을 위해서 checkout 을 사용해야 한다.
git checkout bugFix

✅ git merge - 브랜치와 합치기(Merge)
이제부터 배우는 방법으로 브랜치를 따고, 새 기능을 개발 한 다음 합칠 수 있게 될 것입니다.
git merge
Git의 합치기(merge)는 두 개의 부모(parent)를 가리키는 특별한 커밋을 만들어 냅니다.
두개의 부모가 있는 커밋이라는 것은 "한 부모의 모든 작업내역과 나머지 부모의 모든 작업, 그리고 그 두 부모의 모든 부모들의 작업내역을 포함한다"라는 의미가 있습니다.

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

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

- 커밋 한 번 하세요.
git commit

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

- 커밋을 또 하세요
git commit

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

✅ git rebase
리베이스는 기본적으로 커밋들을 모아서 복사한 뒤, 다른 곳에 떨궈 놓는 것입니다.
리베이스를 하면 커밋들의 흐름을 보기 좋게 한 줄로 만들 수 있다는 장점이 있습니다. 리베이스를 쓰면 저장소의 커밋 로그와 이력이 한결 깨끗해집니다.

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

- 커밋 한 번 합니다.
git commit

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

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