Git에서 브랜치 이름을 바꾸는 방법

게시 됨: 2022-12-26

파란색 배경의 Git 로고

현재 로컬 브랜치의 이름을 바꾸려면 "git branch -m new-name"을 사용하십시오. 다른 로컬 브랜치의 이름을 바꾸려면 "git branch -m old-name new-name"을 사용하십시오. 원격 브랜치의 이름을 변경하려면 "git push origin --delete old-name"으로 삭제한 다음 "git push origin -u new-name"으로 이름이 변경된 로컬 브랜치를 푸시합니다.

분기는 Git에서 간단한 연습입니다. 불행하게도, 사소한 작업은 거의 주의를 기울이지 않고 실수가 발생합니다. 브랜치 이름을 잘못 지정한 경우 이름을 바꿔야 합니다. 방법은 다음과 같습니다.

목차

Git에서 브랜치 이름이 중요한 이유
이름을 바꾸기 전에 Git의 브랜치 나열
Git에서 로컬 브랜치의 이름을 바꾸는 방법
Git에서 원격 브랜치의 이름을 바꾸는 방법
브랜치 이름 바꾸기는 간단합니다

Git에서 브랜치 이름이 중요한 이유

고전적인 버전 제어 시스템(VCS)의 브랜치와 관련된 것은 무엇이든 큰 문제였습니다. 브랜치가 추가되거나 병합되고 있다는 공동 이해가 필요했고, 해당 저장소를 사용하는 모든 사람들은 작업을 계속 진행하고 성공하기 위해 아무것도 하지 않았는지 또는 무언가를 잊었는지 확인해야 했습니다.

분기와 관련된 작업도 종종 매우 느렸습니다. 나뭇가지를 이용한 타임 페널티 탑이 있었다. Git은 처음부터 다르게 설계되었습니다. 분산 버전 제어 시스템이기 때문에 모든 사용자는 자신의 로컬 시스템에 전체 리포지토리의 복사본을 가지고 있습니다.

Git 리베이스: 알아야 할 모든 것
관련 Git rebase: 알아야 할 모든 것

분기를 원격 리포지토리로 푸시하지 않는 한 로컬 컴퓨터에서 분기해도 다른 사람에게 영향을 주지 않습니다. 그리고 Git에서 브랜치 작업은 빠르게 완료할 수 있는 만큼 사용하기 쉽게 설계되었습니다. Git의 분기는 계산 측면에서 매우 저렴합니다. 로컬 저장소 내부의 사소한 작업입니다.

실제로 개발자는 분기하고 자주 분기하도록 권장됩니다. 분기는 VCS 내부에서 이점을 얻을 수 있는 또 다른 도구입니다. 브랜치는 Git에서 그다지 무서운 것이 아니라 가장 많이 사용되는 기능 중 하나입니다.

그러나 친숙함은 경멸로 이어질 수 있습니다. 또는 적어도 지점에 대한 우연한 관심입니다. 분기는 Git에서 빠르고 간단할 수 있지만 분기를 만들 때 여전히 집중해야 합니다. 분기 이름을 잘못 입력하거나 잘못된 이름을 입력하여 분기 이름이 잘못 지정되기 쉽습니다.

분기가 어느 시점에 원격 리포지토리로 푸시될 경우 철자가 정확해야 합니다. 그렇지 않으면 다른 사람이 사용하려고 할 때 혼란을 일으킬 수 있습니다.

관련: Git 브랜치는 어떻게 작동합니까?

이름을 바꾸기 전에 Git의 브랜치 나열

현재 브랜치 이름이 무엇인지 확인하는 것이 좋은 첫 단계입니다. git branch 명령은 브랜치를 나열합니다. 다음 명령을 사용하여 로컬 리포지토리의 분기를 볼 수 있습니다.

 자식 분기 

git branch 명령을 사용하여 로컬 브랜치 나열

가지가 우리를 위해 나열됩니다. 현재 분기는 별표와 함께 녹색으로 강조 표시됩니다.

분기와 해당 커밋을 보려면 show-branch 명령을 사용할 수 있습니다.

 git 쇼 브랜치 

git show-branch 명령을 사용하여 브랜치 및 해당 커밋 나열

-r(원격) 옵션을 포함하여 원격 저장소의 분기를 볼 수 있습니다.

 자식 분기 -r 

git branch -r 명령으로 원격 브랜치 나열

하나의 명령으로 로컬 및 원격 분기를 보려면 -a (all) 옵션을 사용하십시오.

 자식 분기 -a 

git branch -a 명령으로 로컬 및 원격 분기 나열

원격 지점보다 로컬 지점이 더 많습니다. 분기 "feature16"은 아직 원격 저장소로 푸시되지 않았습니다. 이는 정상적인 작동의 한 측면일 뿐 문제가 아닙니다.

우리의 문제는 브랜치 "feature19"가 "feature18"로 명명되어야 한다는 것입니다. 이것이 바로 우리가 바로잡을 실수입니다.

관련: 별도의 Git 분기를 업데이트하고 유지하는 방법

Git에서 로컬 브랜치의 이름을 바꾸는 방법

브랜치의 이름을 로컬에서 바꿀 수 있는 두 가지 방법이 있습니다. 브랜치를 체크아웃하고 이름을 바꾸거나 다른 브랜치에서 작업하는 동안 브랜치의 이름을 바꿀 수 있습니다.

현재 브랜치의 이름을 바꾸려면 이름을 바꾸려는 브랜치를 체크아웃하고 사용하고 있는지 확인하세요. 그런 다음 -m (이동) 옵션과 함께 git branch 명령을 사용합니다.

 자식 체크 아웃 기능 19
 자식 분기 -m feature18 

브랜치 "feature19"를 확인하고 이름 바꾸기

"feature19" 브랜치를 확인하고 이름을 "feature18"로 변경했습니다. 이제 우리 지점이 어떻게 생겼는지 봅시다.

 자식 분기 

"feature19" 분기가 "feature18"로 이름이 변경되었는지 확인하기 위해 분기 나열

우리 브랜치는 이제 로컬 리포지토리에 올바른 이름을 갖습니다.

원하는 경우 다른 브랜치에서 작업할 때 브랜치의 이름을 바꿀 수 있습니다. 다음은 "마스터" 브랜치에서 작업하는 예입니다.

 자식 분기 

마스터 브랜치에 있는지 확인하기 위해 브랜치 나열

우리가 사용하는 명령은 이전과 동일한 명령이지만 이름을 바꾸려는 브랜치의 현재 이름과 원하는 새 이름을 제공해야 합니다.

 자식 분기 -m 기능19 기능18
 자식 분기 

다른 지점 내부에서 한 지점의 이름 바꾸기

다시 말하지만 로컬 리포지토리의 분기 이름이 올바른 이름으로 변경되었습니다.

관련: GitHub에서 새 분기를 만드는 방법

Git에서 원격 브랜치의 이름을 바꾸는 방법

원격 저장소는 여전히 이전 이름을 가진 분기를 보유하고 있습니다. 원격 브랜치의 이름을 바꾸려면 이전 브랜치를 삭제하고 새 브랜치를 푸시합니다.

다른 사용자가 이 브랜치를 사용하고 커밋을 푸시하는 경우 로컬에서 이름을 바꾸기 전에 풀을 수행해야 합니다. 이렇게 하면 로컬 리포지토리가 최신 상태이고 다른 사용자가 변경한 내용이 손실되지 않습니다. 브랜치의 이름을 로컬로 바꾸기 전에 변경 사항을 리포지토리로 다시 가져오면 해당 변경 사항이 원격 리포지토리로 다시 푸시할 때 새 브랜치에 적용됩니다.

지점의 상태를 살펴보겠습니다. -a (모두) 옵션을 사용하여 로컬 및 원격 분기를 모두 표시합니다.

 자식 분기 -a 

git branch -a 명령으로 로컬 및 원격 분기 나열

원격 저장소에서 "feature19"를 삭제하고 "feature18"을 원격으로 푸시해야 합니다.

 git push origin --delete feature19 

git --delete 옵션을 사용하여 원격 브랜치 삭제

원격 저장소의 비밀번호를 묻는 메시지가 표시됩니다. 삭제가 완료되면 확인 메시지가 표시됩니다.

이제 새 분기를 원격으로 푸시하고 -u(업스트림 설정) 옵션을 사용합니다.

 자식 푸시 오리진 -u feature18 

분기를 원격 저장소로 푸시

다시 한 번 리모컨의 비밀번호를 입력하라는 메시지가 표시됩니다. 새 분기가 원격으로 푸시되고 "feature18" 분기가 분기의 로컬 복사본에서 변경 사항을 추적하도록 설정되었다고 들었습니다.

로컬 및 원격 브랜치가 어떤 상태인지 다시 한 번 확인합시다.

 자식 분기 -a 

git branch -a 명령으로 로컬 및 원격 분기 나열

우리 지점은 로컬 및 원격 모두에서 성공적으로 이름이 변경되었으며 원격 지점은 로컬 지점의 변경 사항을 추적합니다.

관련: 로컬 및 원격 리포지토리에서 Git 분기를 삭제하는 방법

브랜치 이름 바꾸기는 간단합니다

Git을 사용하면 브랜치 이름 바꾸기가 간단합니다. 이름 변경이 필요한 리포지토리 또는 브랜치를 사용하는 유일한 사람이라면 매우 간단합니다.

다른 사람이 브랜치를 공유하는 경우 브랜치의 이름을 바꿀 것이며 커밋되지 않은 작업을 푸시해야 한다고 그들에게 전달해야 합니다. 푸시되면 브랜치를 풀한 다음 브랜치 이름을 로컬 및 원격으로 변경할 수 있습니다.

관련: 여러 원격 리포지토리에서 git을 사용하는 방법