본문 바로가기

Git4

[Git] Worktree 현재 작업하고 있는 내용이 있는데, 다른 브랜치를 수정해야할 때면 매번 stash를 하곤 했다. 그렇지만 그걸 반복하다보면 헷갈리기도 하고, 중간에 내용이 누락될 수도 있어 불안전하다고 느껴졌다. 그러다가 이번에 git worktree라는 기능을 알게되어 정리해보았다. 1. git worktree란git worktree는 하나의 Git 저장소에서 여러 작업 디렉토리를 사용할 수 있게 해주는 기능기존에는 다른 브랜치로 작업하고 싶을 때마다 git checkout으로 이동해야 했지만, worktree를 이용하면 여러 브랜치를 서로 다른 폴더에 동시에 checkout해 둘 수 있다.즉, clone처럼 보이지만 원격 저장소 없이, 하나의 Git 히스토리를 공유하며 여러 작업 폴더를 운영할 수 있다. 2. 기본.. 2025. 7. 13.
[Git] Rebase 1. 기본 rebase 명령어git rebase rebase는 브랜치의 커밋들을 다른 브랜치의 최신 상태 위에 다시 쌓는 명령어. 쉽게 말해, 내 작업을 최신 상태 기준으로 정리해서 얹는 작업이다. git rebase 브랜치명현재 브랜치의 커밋들을 '지정한 브랜치'의 최신 커밋 뒤로 재배치한다. 주로 feature 브랜치를 최신 main 브랜치 기준으로 정리할 때 사용한다.git checkout featuregit rebase main// 실행 전main: A---B---C \feature: D---E---F// 실행 후main: A---B---C \feature: D'--E'--F' 2. 왜 re.. 2025. 3. 31.
[Git] Stash stash 기능은 전에도 자주 사용해 보았는데, 이번에도 기능개발 중에 stash를 사용하다가 몇 가지 몰랐던 명령어들을 알게 되어 정리를 해보려고 한다. 1. 기본 Stash 명령어git stash현재 작업 중인 변경 사항을 저장(stash)하고, 작업 디렉토리를 깨끗한 상태로 되돌린다.git stash추적된(tracked) 파일의 변경 사항을 저장하고, 작업 디렉토리를 마지막 커밋 상태로 초기화한다.새로운 파일(추적되지 않은 파일, untracked)이나 무시된 파일(ignored)은 기본적으로 stash에 포함되지 않는다. git stash push보다 명확하게 stash를 저장하는 방법. 메시지와 함께 저장할 수도 있다.git stash push -m "메시지"-m 옵션을 사용하면 특정 메시지를 .. 2025. 3. 23.
[Git] cherry-pick 상황이번에 다른 피처 브랜치에서 개발한 기능을 현재 최신 브랜치에 병합하는 작업을 해야한다. 어떻게 해야할지 생각을 해보다가 책임님께서 merge와 rebase, cherry-pick을 힌트로 주셔서 실행으로 옮기기 전에 개념을 정리해보려고 한다. 뭔가 익숙하지만 확실히 알고있는게 없었다. Cherry-pick 이란?다른 브랜치에 있는 커밋을 선택해서 내 브랜치에 적용할 때 사용하는 명령어커밋 자체를 옮기는게 아니고 같은 내용을 가지고 있는 커밋을 하나 더 생성하는 것이므로 전체 히스토리를 보았을때는 커밋이 늘어나는 것이다. 그러므로 꼭 필요할 때만 사용할 것!// 체리픽 명령어git cherry-pick // 여러 커밋을 한꺼번에 하고싶을 때git cherry-pick // 연속적인 커밋일 경우 .. 2023. 3. 17.