🎮 게임으로 Git 익숙해지기
https://learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
설명
개발 중에 종종 이런 상황이 생깁니다: 눈에 잘 띄지 않는 버그를 찾아서 해결하려고, 어떤 부분의 문제인지를 찾기 위해 디버그용 코드와 화면에 정보를 프린트하는 코드 몇 줄 넣습니다.
디버깅용 코드나 프린트 명령은 그 브랜치에 들어있습니다. 마침내 버그를 찾아서 고쳤고, 원래 작업하는 브랜치에 합치면 됩니다!
이제 bugFix브랜치의 내용을 main에 합쳐 넣으려 하지만, 한 가지 문제가 있습니다. 그냥 간단히 main브랜치를 최신 커밋으로 이동시킨다면(fast-forward) 그 불필요한 디버그용 코드들도 함께 들어가 버린다는 문제죠.
이 문제를 해결하는 여러가지 방법이 있습니다만, 가장 간단한 두가지 방법 아래와 같습니다:
- git rebase -i
- git cherry-pick
대화형 (-i 옵션) 리베이스(rebase)로는 어떤 커밋을 취하거나 버릴지를 선택할 수 있습니다. 또 커밋의 순서를 바꿀 수도 있습니다. 이 커맨드로 어떤 작업의 일부만 골라내기에 유용합니다.
체리픽(cherry-pick)은 개별 커밋을 골라서 HEAD위에 떨어뜨릴 수 있습니다.
문제
level mixed1
풀이
git rebase -i HEAD~3
git branch -f main HEAD
또는
git checkout main
gut cherry-pick c4
'Git > Learn Git Branching' 카테고리의 다른 글
4-3. 커밋 갖고 놀기 #2 (1) | 2025.04.22 |
---|---|
4-2. 커밋들 갖고 놀기 (0) | 2025.04.22 |
3-2. 인터랙티브 리베이스 소개 (0) | 2025.04.22 |
3-1. Cherry-pick 소개 (0) | 2025.04.22 |
2-4. Git에서 작업 되돌리기 (1) | 2025.04.10 |