Git Rebase vs. Git Merge
Git Merge
Git Merge는 두 브랜치의 작업 내역을 하나의 새 커밋으로 합치는 방법입니다.
Git Rebase
Git Rebase는 브랜치의 커밋을 다른 브랜치의 끝으로 옮기는 방법입니다.
interactive rebase는 커밋 히스토리를 세밀하게 수정, 재정렬, 합치기, 삭제할 수 있는 강력한 도구입니다.기본 사용법
명령어 : git rebase -i <commit 또는 브랜치>
예시: 최근 5개의 커밋을 대상으로 사용할 때
git rebase -i HEAD~5
작동:
기본 명령어 설명:
pick: 커밋을 그대로 유지reword: 커밋 메시지를 수정edit: 커밋 내용을 수정squash: 커밋을 이전 커밋과 합침 (메시지 병합 가능)fixup: 커밋을 이전 커밋과 합침 (메시지 무시)drop: 커밋을 삭제결론 :
git commit --amend 옵션을 사용하시는게 편리하겠죠.다른 브랜치에 있는 커밋을 복사해서 다른 브랜치에 붙일 수 있음.
Cherry-Pick은 다음과 같은 상황에서 특히 유용합니다:
마치 친구들과 함께 여행 계획을 세울 때, 모든 일정을 그대로 따르기보다 나에게 맞는 활동만 골라서 내 일정에 넣는 것과 비슷합니다.
장점:
단점:
각 방식의 특징을 비교해보겠습니다:
Cherry-Pick:
Merge:
Rebase:
상황에 따라 적절한 방식을 선택하는 것이 중요합니다. Cherry-Pick은 특정 변경사항만 필요할 때, Merge는 전체 기능을 통합할 때, Rebase는 히스토리를 깔끔하게 유지하고 싶을 때 사용하면 좋습니다.
브랜치랑 똑같은데 v1.0버전처럼 숫자로 된 태그
Semantic Versioning (시맨틱 버저닝) = SemVer
구조 : MAJOR(주 버전) . MINOR(부 버전) . PATCH(수 버전)
annotated tag : 설명이 들어간 태그
1. Git Alias란?
Git alias는 자주 사용하는 Git 명령어에 대해 짧고 기억하기 쉬운 별칭을 설정하는 기능입니다.
cd ~에서 .gitconfig를 code실행하여 공유가능
교안참조
git reflog는 Git에서 로컬 저장소의 모든 참조(브랜치 이동, 커밋, 머지 등) 이력을 기록하고 보여주는 명령어입니다.
주요 기능 및 사용 상황
git reflog를 사용하여 해당 커밋의 해시를 찾고 복구할 수 있습니다. 예를 들어, HEAD가 어느 커밋을 가리키고 있었는지 추적할 수 있습니다.reflog를 통해 이전 위치를 확인하고 되돌릴 수 있습니다.git log에 기록되지 않은(예: 재작성된 커밋) 최근 활동을 추적할 수 있습니다.reflog의 한계
1. 지역적인 특성 : 로컬에서만 유효
2. 영구적이지 않음 : 자동삭제(90일), 제한된 유지 기간
결론
git reflog는 강력한 도구로, 로컬에서 발생한 모든 참조 변경 이력을 추적하고 복구하는 데 매우 유용합니다. 그러나 이 기록은 로컬에만 존재하며, 일정 기간 후 삭제되기 때문에, 중요한 작업을 영구적으로 보존하려면 주기적인 백업이나 적절한 브랜치 관리가 필요합니다. reflog의 특성을 이해하고 적절히 활용하면 Git에서 실수로 인한 데이터 손실을 방지하고 효과적으로 작업을 관리할 수 있습니다.
HTML 문서의 구조와 태그 이해하기
개발환경 설정하기