Git(13)
-
[Git] Git에서 특정 파일 변경분만 다른 브랜치에 반영하기 feat. Patch 활용
가끔은 브랜치 전체를 합치고 싶진 않지만, 특정 파일의 변경사항만 다른 브랜치에도 적용하고 싶을 때가 있습니다. 해당 방법에 대해서 알아보겠습니다.대상 브랜치로 이동하기👇 변경사항을 반영할 브랜치로 체크아웃합니다.git checkout feature-b브랜치 간 파일 차이 추출하기feature-a 브랜치에서 product.module.scss 파일을 수정했는데 이 변경을 feature-b 브랜치에도 반영하고 싶은 경우입니다.이럴 땐 Patch 파일을 만들어 적용하는 방법을 쓸 수 있습니다.👇 두 브랜치 간의 특정 파일 변경사항을 추출합니다.앞에 오는 브랜치 = 기준점(현재 상태)뒤에 오는 브랜치 = 가져오고 싶은 변경사항 쪽git diff feature-b feature-a -- src/path/to..
2025.09.22 -
[Git] git rebase에서 충돌이 날 때 대처법 (feat. 커밋 메시지 수정)
개발을 하다 보면 git rebase를 수행할 때 충돌이 발생하거나, 예상치 못한 커밋 메시지 편집 화면이 나타나는 경우가 있습니다. 이번 포스팅에서는 git rebase 중 충돌 해결 및 커밋 메시지 편집 방법에 대해 알아보겠습니다. git rebase 진행 중 충돌 발생예를 들어, git rebase를 실행한 후 다음과 같은 메시지를 받았다고 가정해 봅시다.현재 'feature' 브랜치를 'ab568b4fb5' 위로 리베이스하는 중입니다.커밋할 변경 사항: 수정함: src/modules/components/Community/Community.tsx 이는 리베이스 중 하나의 커밋이 적용되었고, 남은 커밋이 몇 개 더 있다는 의미입니다. 이 과정에서 충돌이 발생하면 Git이 이를 해..
2025.03.29 -
[Git] git rebase 취소하는 방법에 대해서 알아보자 (feat. git reflog, git reset)
git rebase는 커밋 히스토리를 정리하거나 수정할 때 유용한 명령어입니다. 하지만 실수로 잘못 진행하거나 충돌이 발생했을 때 이를 취소하고 원래 상태로 되돌리고 싶을 수 있습니다. 이번 포스팅에서는 git rebase를 취소하는 방법과 상황별 해결책을 정리했습니다.git rebase 취소하기Rebase 진행으로 충돌이 발생하여 더 이상 진행을 원하지 않을 경우, 아래 명령어를 사용해 Rebase를 완전히 취소할 수 있습니다.git rebase --abort git reflog 분석 및 상태 되돌리기Rebase가 이미 완료된 경우, 이전 상태로 복구하려면 우선 git reflog를 통해 HEAD가 이동한 모든 기록을 확인합니다. 1. 현재 브랜치의 커밋 기록 확인git reflog 주어진 git re..
2024.12.19 -
[Git] PR 커밋 해시를 활용한 브랜치 생성 : 쉽고 간단한 가이드
가끔 코드 리뷰나 협업 과정에서 특정 PR의 커밋 해시를 로컬 환경에서 확인해야 할 때가 있습니다. 이 글에서는 원격 저장소에서 해당 커밋을 로컬로 가져와, 그 해시를 기반으로 브랜치를 생성하는 방법을 설명하겠습니다.git fetch로 원격 저장소 업데이트먼저, 원격 저장소에서 최신 정보를 로컬로 가져와야 합니다. 원격 브랜치에서 최신 커밋들이 로컬에 반영되지 않은 경우가 많기 때문이죠.git fetch origin 이 명령어는 원격 저장소(origin)에 있는 모든 브랜치와 태그 정보를 로컬에 업데이트합니다. 이렇게 하면 나중에 필요한 특정 커밋 해시도 로컬에서 접근할 수 있게 됩니다. 해당 커밋 해시가 있는지 확인하고 직접 체크아웃먼저 해당 해시가 로컬에 존재하는지 확인하려면, git log 명..
2024.10.23 -
[Git] GitHub에서 Squash Merge로 프로젝트 히스토리 깔끔하게 정리하기
Git의 다양한 병합(merge) 방법 중 하나인 Squash Merge에 대해 알아봅시다.Squash Merge (스쿼시 머지) 란?여러 커밋을 하나의 커밋으로 압축(squash)하여 병합하는 Git의 기능입니다. 이를 통해 개발 브랜치에서 작업한 여러 개의 작은 커밋을 한 번에 메인 브랜치에 병합할 수 있습니다. 이 방법은 깔끔한 커밋 히스토리를 유지할 수 있게 합니다.다이어그램을 통해 Squash Merge 이해하기기본 main 브랜치에서 feature 사본 브랜치를 생성하여 작업을 시작합니다. feature 브랜치에서 여러 개의 커밋을 생성합니다.main: A---B---C \feature: D---E---F feature 브랜치의 모든 커밋을 하나의 커밋..
2024.07.07 -
[Git] 2가지 방법으로 변경사항 가져오기 (feat. git checkout, git cherry-pick)
코드를 관리하는 과정에서 이전 상태로 돌아가야 할 때나 다른 브랜치에서의 변경 사항을 현재 브랜치로 가져와야 할 때가 있습니다. 이럴 때 사용하는 주요 명령어에 대해서 살펴보겠습니다. git checkout으로 파일 가져오기 이전 커밋 상태로 되돌리는 명령어입니다. --를 사용하여 git에게 파일 이름으로 해석하라고 명시적으로 알려줍니다. git checkout HEAD~1 -- [경로/파일명] git checkout 명령어를 사용하여 파일을 이전 커밋의 상태로 가져오면, 해당 파일의 현재 상태는 이전 커밋의 상태로 완전히 교체됩니다. 그러므로 충돌이 발생하지 않습니다. 주의할 점은 현재 작업 디렉토리에 변경 사항이 있는 경우, 해당 파일을 checkout 하기 전에 변경 사항을 stash에 잠시 보..
2024.03.24