Git Rebase 및 Branch 스위칭

리베이스

Rebase 다른 브랜치의 커밋을 적용하여 브랜치의 커밋 기록을 변경하는 프로세스입니다. merge 변경 사항을 결합하는 데 사용하는 대신 병합 커밋을 만들지 않고 현재 분기의 커밋 기록에 새 커밋을 rebase 허용합니다. insert

예를 들어 두 개의 분기가 있다고 가정해 보겠습니다. feature-branchmain. 작업 중이며 feature-branch 최신 커밋을 main 현재 브랜치에 적용하려고 합니다. 이를 위해 rebase를 사용할 수 있습니다.

git checkout feature-branch  
git rebase main  

이 명령을 실행하면 Git이 커밋을 가져 main 와서 에 적용합니다 feature-branch. 이는 의 모든 커밋이 의 feature-branch 커밋 다음에 나타남을 의미합니다 main. 그 결과 커밋 히스토리가 feature-branch.

그러나 리베이스를 사용할 때 변경된 커밋 기록이 공개적으로 공유된 브랜치에 영향을 미칠 수 있다는 점에 유의해야 합니다. 따라서 현재 분기에서 원격 저장소로 커밋을 이미 푸시한 경우 일반적으로 해당 분기에서 rebase를 사용하지 않는 것이 충돌 및 지저분한 커밋 기록을 방지하는 것이 좋습니다.

 

Branch 스위칭

Git에서 분기 전환이란 한 분기에서 다른 분기로 이동하는 과정을 말합니다. 분기를 전환하면 Git은 HEAD 포인터를 새 분기로 이동하여 해당 분기에서 작업하고 다른 분기에 영향을 주지 않고 변경할 수 있습니다.

예를 들어 분기 feature-branchmain. 로 전환하려면 feature-branch 다음 명령을 사용합니다.

git checkout feature-branch

분기를 전환한 후 작업 디렉터리에서 변경할 수 있습니다. 모든 commit, addcheckout 명령은 현재 분기에 적용됩니다.

예를 들어 새 파일을 추가하고 에 커밋하면 feature-branch 해당 브랜치에만 커밋이 포함되고 main 영향을 받지 않습니다. 이를 통해 별도의 기능을 개발하거나 버그를 수정하거나 다른 버전의 코드에서 독립적으로 작업할 수 있습니다. 각 분기에서 개별적으로 작업해야 할 때마다 분기 간에 전환할 수 있습니다.