Git은 여러 개발자가 원활하게 협업할 수 있도록 돕는 강력한 분산 버전 제어 시스템이다. Git은 코드베이스에 대한 변경 사항을 추적함으로써 개발자가 다양한 버전의 코드를 효과적으로 관리하고 조정할 수 있도록 하고, 개발 프로세스가 체계적으로 유지되도록 한다.
또한 작업 흐름을 간소화하기 위해 git merge와 git rebase와 같은 다양한 작업을 제공한다.
git merge와 git rebase는 둘 다 한 브랜치의 변경 사항을 다른 브랜치로 통합한다는 점에서 같은 목적을 가지고 있지만, 다른 방식으로 수행한다. 각 작업의 장단점을 살펴보자.
: source 브랜치의 변경 사항을 가져와 target 브랜치에 통합한다.
merge
작업은 주로 다른 개발자들과의 협업할 때 사용하며, feature 브랜치에서의 작업을 main 브랜치로 통합하는 데 사용된다.git checkout feature
git merge master
git merge master feater # master 브랜치에 feature 브랜치의 변경 사항을 병합한다.
: 모든 변경 사항을 단일 patch로 압축하고, target 브랜치에 patch를 통합한다.
rebase
작업은 주로 개인 브랜치에서 커밋 히스토리를 정리하거나, 브랜치를 최신 상태로 유지하고자 할 때 사용된다.git checkout feature
git rebase master
rebase
는 주로 개인 브랜치에서 사용하는 것이 좋다.The Unending Debate: Git Merge or Rebase?
Understanding Git Merge and Git Rebase
저는 git desktop쓰는데 좋더라구여 그래서 위기능 해본 적 없는데 좋아보이네용