GIT 4

main에 쌓인 커밋 구조조정하기

main에서 전부 작업 → 백업 브랜치 만들기 → main 초기화 → 새 브랜치로 cherry-pick → 백업 브랜치 삭제이런 상황을 만날 수 있다. “원래는 feature/... 브랜치에서 작업했어야 하는데,귀찮아서 그냥 main에서 다 해버렸다…” 이미 커밋도 여러 개 쌓였고, 리모트에도 푸시까지 해버렸다.이 상태에서 히스토리를 말끔하게 정리하고 싶다면, 다음과 같은 전략을 사용할 수 있다.현재 main 상태를 통째로 백업 브랜치로 복사main을 초기 커밋 시점으로 되돌리기새 기능 브랜치를 하나 만들고,백업 브랜치에 있는 필요한 커밋들만 cherry-pick작업이 끝나면 백업 브랜치를 삭제 1. main 브랜치로 이동git checkout main현재 작업 중인 브랜치와 상관없이, 기준이 될 mai..

IT/Git & GitHub 2025.11.30

Git 핵심 개념

1) Mac에서 Git 설치하기Mac에서는 Git 설치가 매우 간단하다.기본적으로 터미널에서 git --version을 입력하면macOS가 필요한 구성요소(Xcode Command Line Tools)를 자동으로 설치하도록 안내한다.cmd + space로 Spotlight를 열고 터미널을 실행아래 명령을 입력git --version설치 안내 창이 나타나면 설치 진행을 선택설치가 완료되면 다시 git --version으로 버전을 확인Homebrew를 사용 중이라면 brew install git로도 설치가 가능하다. 2) Git을 이해하는 기본 구조Git을 제대로 쓰려면 내부 흐름 이해하기2-1) Working Tree사용자가 실제로 파일을 편집하는 공간이다.Git이 추적하는 파일과 추적하지 않는 파일이 섞..

IT/Git & GitHub 2025.10.12

Git과 Github - 개발자가 알아야 할 버전 관리의 시작점

1. Git이란 무엇인가?Git은 파일과 코드의 변경 기록을 저장하고 관리하는 도구이다.쉽게 말해, “코드의 타임머신”이라 할 수 있다.개발 과정에서 코드는 계속 바뀐다. 새로운 기능이 추가되고, 버그가 수정되며, 때로는 실수로 문제가 생기기도 한다.Git은 이러한 모든 변경 사항을 기록하여, 언제든지 과거 상태로 되돌아갈 수 있게 해주는 버전 관리 시스템(VCS, Version Control System)이다.Git은 혼자 쓸 수도 있지만, 여러 명이 동시에 협업할 때 진가를 발휘한다. 누가 언제 어떤 코드를 수정했는지 추적할 수 있고, 충돌(conflict)이 생기면 서로의 변경 사항을 비교하면서 합칠 수 있다. 2. Github란 무엇인가? Git이 코드의 변경 이력을 관리하는 도구라면,Github..

IT/Git & GitHub 2025.10.12

Git Merge 옵션 : --ff, --no-ff, --squash

Git에서 브랜치를 병합할 때 merge나 pull 명령어와 함께 자주 등장하는 옵션이 있다.--ff, --no-ff, --squash이다.모두 병합의 히스토리 관리 방식과 관련이 있으며, 어떤 옵션을 쓰느냐에 따라 프로젝트 히스토리가 크게 달라진다. 1. --ff (fast-forward merge)fast-forward merge는 Git의 기본 동작대상 브랜치가 단순히 뒤쪽에만 커밋이 이어져 있는 경우,새로운 병합 커밋을 만들지 않고 브랜치 포인터만 앞으로 이동시킨다. 장점히스토리가 직선으로 이어져 깔끔하다불필요한 merge commit이 생기지 않는다단점브랜치가 존재했다는 흔적이 남지 않는다협업 시 어떤 기능이 어느 브랜치에서 개발되었는지 추적하기 어렵다사용 시점기능 브랜치를 짧게 만들어 금방..

IT/Git & GitHub 2025.08.29
반응형