0Pricing
DevOps Bootcamp · 강의

기록 관리를 위한 대화형 리베이스

푸시하기 전에 대화형 리베이스를 사용하여 커밋 기록을 다시 작성하고, 커밋을 합치거나 순서를 바꾸거나 메시지를 수정하세요.

기록 관리를 위한 대화형 리베이스은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

대화형 리베이스 알아보기

강력한 Git 도구인 대화형 리베이스를 살펴보겠습니다! 대화형 리베이스를 사용하면 다른 사람과 공유하기 전에 프로젝트의 커밋 기록을 다시 작성할 수 있습니다.

커밋을 위한 타임머신이라고 생각해 보세요. 변경 사항을 정리하고, 합치고, 순서를 바꿔 작업 내용을 명확하고 일관된 흐름으로 만들 수 있습니다.

기록을 정리해야 하는 이유

기록을 다시 작성하려는 이유는 무엇일까요?

  • 명확성: 프로젝트의 커밋 로그를 읽고 이해하기 쉽게 만들 수 있습니다.
  • 간결성: 작게 나누어 점진적으로 만든 커밋을 의미 있는 하나의 변경 사항으로 합칠 수 있습니다.
  • 디버깅: 깔끔한 기록은 버그가 언제 도입되었는지 찾는 git bisect 같은 도구를 사용할 때 도움이 됩니다.
  • 더 나은 풀 리퀘스트: 다듬어진 변경 사항을 협업자에게 보여 줄 수 있습니다.

대화형 리베이스 시작하기

대화형 리베이스를 시작하려면 git rebase -i 명령을 사용합니다. 얼마나 이전으로 돌아갈지 지정해야 합니다.

예를 들어 현재 브랜치의 마지막 커밋 3개를 리베이스하려면 다음과 같이 입력합니다.

git rebase -i HEAD~3

그러면 마지막 커밋 3개와 사용할 수 있는 명령이 표시된 편집기가 열립니다.

리베이스 편집기 명령

대화형 리베이스를 시작하면 Git은 커밋 목록과 지침이 포함된 텍스트 편집기를 엽니다. 각 커밋은 다음 명령 중 하나로 시작합니다.

  • pick: 커밋을 그대로 사용합니다.
  • reword: 커밋은 사용하되 메시지를 수정합니다.
  • edit: 커밋은 사용하되 변경 사항을 수정할 수 있도록 일시 중지합니다.
  • squash: 이전 커밋과 합치고 메시지도 병합합니다.
  • fixup: 이전 커밋과 합치되 이 커밋의 메시지는 버립니다.
  • drop: 커밋을 완전히 제거합니다.

예시: 커밋 메시지 수정하기

커밋 메시지에 오타를 냈다고 가정해 보겠습니다. reword를 사용하면 오타를 수정할 수 있습니다. 변경하려는 커밋 옆의 pick을 reword로 바꿉니다.

pick 5a6b7c8 Add new feature
pick 1d2e3f4 Fix typo in docs
reword 9g0h1i2 Implement login screen

편집기를 저장하고 닫으면 Git에서 9g0h1i2 커밋의 메시지를 수정하라는 메시지가 표시됩니다.

예시: 커밋 합치기

서로 관련된 작은 커밋을 여러 개 만들었지만 하나로 합칠 수 있는 경우가 많습니다. squash를 사용하면 커밋을 합칠 수 있습니다.

pick a1b2c3d Initial feature commit
squash e4f5g6h Add more details
fixup i7j8k9l Fix small bug

여기서는 e4f5g6h가 a1b2c3d에 병합되면서 두 커밋의 메시지도 합쳐집니다. i7j8k9l도 a1b2c3d에 병합되지만, 해당 메시지는 버려집니다(fixup).

예시: 커밋 제거하기

더 이상 필요하지 않은 실험용 커밋이 있다면 기록에서 간단히 drop할 수 있습니다. pick을 drop으로 바꾸거나 해당 줄을 완전히 삭제하면 됩니다.

pick 1122334 Initial setup
drop 5566778 Test experimental feature
pick 9900112 Add user authentication

저장하면 5566778 커밋이 브랜치 기록에서 완전히 제거됩니다.

예시: 커밋 순서 바꾸기

커밋의 순서도 바꿀 수 있습니다. 편집기에서 줄을 잘라 붙여넣어 순서를 바꾸면 됩니다. Git은 새로운 순서대로 변경 사항을 적용합니다.

원래 순서:

pick abcdef1 Add feature A
pick 1234567 Add feature B

순서를 바꾼 후:

pick 1234567 Add feature B
pick abcdef1 Add feature A

커밋이 서로 의존한다면 순서를 바꿀 때 충돌이 발생할 수 있으므로 주의해야 합니다.

황금률: 공유된 기록은 리베이스하지 마세요

이는 매우 중요합니다. 이미 공유 원격 저장소(예: GitHub 또는 GitLab)에 푸시되었고 다른 사람이 가져갔을 수 있는 커밋은 절대 리베이스하지 마세요.

리베이스는 커밋 ID를 다시 작성합니다. 다른 사람이 원래 커밋을 기반으로 작업했다면 리베이스된 커밋은 완전히 다른 기록으로 보이므로, 관련된 모든 사람에게 큰 충돌과 혼란을 일으킵니다.

로컬 브랜치에만 존재하는 커밋만 리베이스하세요!

리베이스 명령 확인

커밋이 세 개 있습니다. A (Initial), B (Minor fix), C (Refactor)입니다. A의 원래 메시지를 유지하면서 B를 A에 합치고, C는 그대로 유지하려고 합니다. 대화형 리베이스 편집기에서 가장 오래된 커밋부터 최신 커밋 순서로 어떤 명령을 사용해야 할까요?

대화형 리베이스 복습

강력한 git rebase -i 명령에 대해 배웠습니다!

  • 로컬 커밋 기록을 다시 작성할 수 있습니다.
  • 메시지를 reword하고, 커밋을 squash 또는 fixup하고, 원하지 않는 변경 사항을 drop하거나 커밋 순서를 바꿀 수도 있습니다.
  • 황금률을 항상 기억하세요. 공유 원격 저장소에 이미 푸시된 커밋은 절대 리베이스하지 마세요.

대화형 리베이스를 능숙하게 사용하면 깔끔하고 이해하기 쉬운 프로젝트 기록을 유지할 수 있습니다!

자주 묻는 질문

“기록 관리를 위한 대화형 리베이스” 강의는 무료인가요?

네 — “기록 관리를 위한 대화형 리베이스” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“기록 관리를 위한 대화형 리베이스”에서 뭘 배우나요?

푸시하기 전에 대화형 리베이스를 사용하여 커밋 기록을 다시 작성하고, 커밋을 합치거나 순서를 바꾸거나 메시지를 수정하세요. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“기록 관리를 위한 대화형 리베이스” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 병합 충돌 수동 해결
  2. 기록 관리를 위한 대화형 리베이스
  3. 커밋 선별 적용
  4. Git Rerere로 충돌 해결 재사용하기
← DevOps Bootcamp(으)로 돌아가기