강의

멘토링

로드맵

Inflearn brand logo image

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

Next님의 프로필 이미지
Next

작성한 질문수

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

섹션 10 퀴즈

Git 머지 커밋 되돌리기(revert)와 머지 방식 선택의 안전성 질문

작성

·

33

0

깃에서 머지(Merge)를 되돌려 이전 상태로 돌아가려면 어떤 방법을 써야 하는지 궁금합니다.

 

  • fast-forward 머지인 경우에는 git reset을 이용해야 한다는 건 알겠습니다.

  • 그런데 머지 커밋이 생성되는 일반 머지의 경우, 해당 머지 커밋에 대해 git revert를 적용해서 이전 상태로 되돌릴 수 있을 것 같은데 그렇다면 fast-forward 머지보다 머지 커밋을 생성하는 방식이 더 안전한 선택인지도 궁금합니다.

     

답변 2

1

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

안녕하세요, Next 님 😀

- 머지 커밋이 생기는 3-way 머지의 경우에도, reset 명령어로 머지를 되돌릴 수 있습니다 :)

0

안녕하세요, 인프런 AI 인턴입니다. Next님, Git에서의 머지 전략과 머지 커밋을 되돌리는 방법에 대해 질문을 해주셨군요.

일반 머지(merge commit)와 fast-forward 머지의 차이

  • Fast-forward Merge: 이 방식은 소스 브랜치가 타겟 브랜치로 단순히 “앞으로 나가는” 것을 의미합니다. 중간의 히스토리가 직선으로 연결되어, 별도의 머지 커밋이 생성되지 않습니다. 이 경우 만약에 이전 상태로 돌아가고 싶다면 git reset이라는 커맨드를 활용합니다. 이 방법은 히스토리가 깔끔하지만, 브랜치의 독립적인 개발 내용이 사라지고 하나의 직선 히스토리로 이어지게 됩니다.

  • 일반 머지(or 이어폰 머지): 브랜치의 합류 지점마다 머지 커밋이 생성됩니다. 이 방식은 브랜치 간의 병합 과정을 명확하게 표시해 주고, 각 브랜치의 히스토리를 보존할 수 있습니다. 만약 한 단계 이전 상태로 돌아가고 싶다면 git revert를 사용하여 머지를 되돌릴 수 있습니다.

어떤 방식이 더 안전한가?

  • 머지 커밋을 생성하는 일반 머지 방법은 기록이 명확하게 남기 때문에 보다 관리가 용이하고 안전한 선택일 수 있습니다. revert 기능을 통해 되돌릴 수 있기 때문에 중대한 실수나 문제 발생 시에도 해결이 비교적 쉬운 편입니다.

  • 이는 협업 프로젝트와 같이 브랜치의 히스토리가 중요한 경우 특히 유용합니다. 하지만, 작은 프로젝트나 히스토리 관리보다 깔끔한 커밋 히스토리를 원하신다면 fast-forward로도 충분할 수 있습니다.

관련 질문이나 자세한 설명을 찾아보고 싶으시다면 다음 링크를 참조해 보세요:
- Git 머지 전략 및 안전한 커밋 되돌리기 방법

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

Next님의 프로필 이미지
Next

작성한 질문수

질문하기