Git 리포지토리에서 브랜치 이름 변경


294

Git 리포지토리에서 기존 브랜치의 이름을 바꾸려면 어떻게해야합니까?

현재 지점에 새로운 이름을 지정하고 싶습니다.


2
@Alex 답변을 수락하거나 수락하지 않으려는 이유를 말하십시오.
Charlie Parker

1
아마이 알렉스의 유일한 문제 있다는 사실과 함께 할 수있는 뭔가가, 그는 아마 이후에 로그인하지 않은 @CharlieParker "21시 29분에서 2월 3일 '11 마지막으로 목격"
노란색 - 성인

13
@ JB OMG 당신은 그에게 무슨 일이 있었을 수 있다고 말하고 있습니까 ??? !!!!!!!!!
abbood

1
이것에 대해 높은 투표 응답을받을 수 있습니까?
Steve Chambers

답변:


465

현재 지점에 이름을 바꾸려는 경우 :

git branch -m newname

이 설명서는에 대한 설명서에 설명되어 git-branch있습니다.

man git-branch

또는

git help branch

구체적으로 명령은

git branch (-m | -M) [<oldbranch>] <newbranch>

매개 변수는 다음과 같습니다.

   <oldbranch>
       The name of an existing branch to rename.

   <newbranch>
       The new name for an existing branch. The same restrictions as for <branchname> apply.

<oldbranch> 현재 분기의 이름을 바꾸려면 선택 사항입니다.


10
아니면 git branch -m other-branch renamed-other-branch그렇지 않다면.
mipadi

32
또한 이전 분기를 원격으로 푸시 한 경우을 사용하여 삭제할 수 있습니다 git push origin :branchname. 그러면 새 것을 푸시하고 기존 것을 삭제하여 본질적으로 리모콘에서 이름을 바꿀 수 있습니다.
Jonathan

1
@mipadi, 새 분기를 만들고 이전 분기를 삭제하지 않습니다.
모하마드 아리프

자식 분기 (-m | -M) [<oldbranch>] <newbranch> 구문 오류가 발생하여 작동하지 않았습니다.
모하마드 아리프

@MohammedArif으로는 -m, 그것은 이름 변경 이 있으므로, 이전 분기를 않습니다 이전을 삭제합니다.
Richard Fearn

176

현재 지점에 있다면 이름을 바꾸고 싶습니다.

git branch -m new_name 

그렇지 않으면:

git branch -m old_name new_name 

당신은 확인할 수 있습니다 :

git branch -a

보시다시피 로컬 이름 만 변경되었습니다. 이제 원격에서도 이름을 변경하려면 다음을 수행해야합니다.

git push origin :old_name

그러면 분기가 제거 된 다음 새 이름으로 업로드됩니다.

git push origin new_name

출처 : https://web.archive.org/web/20150929104013/http://blog.changecong.com:80/2012/10/rename-a-remote-branch-on-github


13
나는 이것이 정답이라고 생각합니다. Richard Feam의 높은 투표 응답은 로컬 리포지토리만을 다루며, 이것은 원격지에 해당합니다.
user1145404

4
위의 의견에 동의 하여이 대답은 제 경우 더 완벽했습니다. 또한이 답변에 언급 된 모든 단계를 수행 한 후 원격 분기에 추가 커밋을 푸시했을 때 git은 old_name다시 분기 로 푸시하려고 했습니다. 다행히도 git은 커맨드 라인에서 수정 사항을 제공했습니다 git-branch --unset-upstream. 그 후, 푸시 된 모든 커밋은 new_name원격 지점으로 갔다 .
Hans Roerdinkholder

2
이 방법은 당신이 밀어 교수 잃었다 조심 git push당신은 말한다 WHI 경고 겐트 때문에 Your branch is based on 'old_name, but the upstream is gone.A가 git push -u origin new_name그것을 해결합니다.
netalex 2019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.