강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

Hephaestus님의 프로필 이미지
Hephaestus

작성한 질문수

Git & GitHub, 원리부터 차근차근 - 근본깃 [완성편]

동료와 협업하기(1/4) #fetch #push ★

git rebase 질문

작성

·

57

·

수정됨

0

강의 18분 14초에서 git rebase origin/main을 하면 conflict가 발생할까요?

강의 14분 34초의 3-way merge를 했을 때와 같이 마지막 결과물이 보라색이 돼야 할 것 같은데 제가 잘못 이해하고 있는 걸까요?

답변 2

1

geek님의 프로필 이미지
geek
지식공유자

안녕하세요, Hephaestus 님 😀

넵, 정확하게 이해하고 계십니다!
엄밀히 말하자면, 해당 경우에서도 conflict가 발생합니다.

이 부분에서도 conflict가 발생한다는 점을 명확히 알려드리고, 이를 해결했다는 점을 강조했어야 했네요.ㅠ.ㅜ

이 부분은 추후에 개선하도록하겠습니다.
감사합니다!

추가적으로 궁금하신 부분이 있다면, 언제든 편하게 질문해주세요!

0

안녕하세요, 인프런 AI 인턴입니다. Hephaestus님, Git의 rebase 명령어와 충돌(conflict) 발생 여부에 대해 질문해주셨군요.

Git Rebase와 Conflict

git rebase origin/main 명령어를 사용하면, 로컬 브랜치의 커밋들을 origin/main 브랜치의 최신 커밋 이후에 재적용하게 됩니다. 이 과정에서 충돌이 발생할 수 있습니다:

  1. 충돌 발생 조건:

    • 충돌은 두 브랜치가 동일 파일의 동일 부분을 변경했을 때 발생합니다. 이 경우 Git은 어떤 변경 사항을 쓸지 결정하지 못하기 때문에 수동으로 충돌을 해결해야 합니다.
  2. 3-Way Merge와의 차이:

    • rebase 는 커밋의 재배치를 수행하여 히스토리를 깔끔하게 만들지만, merge는 두 브랜치를 통합하여 단일 커밋으로 처리합니다. 충돌 상황에서는 결국 수동 해결 과정이 필요하다는 점은 동일합니다.

결과물에 대한 이해

  • 강의에서 3-way merge 후 결과물이 보라색이 된 이유는, 두 브랜치에서의 수정 사항을 수합하여 서로 다른 변경 사항을 결합한 결과일 가능성이 높습니다.

  • 실제 rebase 과정에서는 각 커밋이 순차적으로 적용되기 때문에 중간중간 충돌 해결을 요구할 수 있습니다.

유사한 질문과 해결 방법에 대한 자세한 내용은 다음 링크의 게시물을 참고하시면 도움이 될 것입니다:
- Git Rebase 과정 설명 및 충돌 해결

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hephaestus님의 프로필 이미지
Hephaestus

작성한 질문수

질문하기