삭제 로컬 Git 브랜치의 이름을 바꾸려면 어떻게해야합니까?




브랜치 이름 (24)

로컬 브랜치와 원격 Git 리포지토리의 마스터 브랜치 이름 바꾸기에 설명 된대로 원격 브랜치의 이름을 바꾸고 싶지 않습니다.

어떻게 원격 브랜치로 푸시되지 않은 로컬 브랜치의 이름을 바꿀 수 있습니까?


PHPStorm :

VCS-> Git-> Branches ...-> Local Branches-> _your_branch_ -> Rename


현재 분기의 이름을 바꾸려면 다음을 수행하십시오.

git branch -m <newname>

1. 이름 바꾸기

현재 브랜치 인 경우

git branch -m new_name

이름을 바꾸려는 다른 지점 인 경우

git branch -m old_name new_name

2. 새로운 원격 지점 추적

- 지사가 푸시 된 경우 이름을 변경 한 후 원격 지토 (Git) 저장소에서 삭제하고 새 로컬에 새 원격 지사를 추적하도록 요청해야합니다.

git push origin :old_name
git push --set-upstream origin new_name

또 다른 옵션은 명령 행을 전혀 사용하지 않는 것입니다. SourceTree 와 같은 Git GUI 클라이언트는 에서 가장 많이 볼 수있는 것과 같은 질문을 유발하는 구문 학습 곡선 / 통증을 많이 제거합니다.

SourceTree에서 왼쪽의 "지점"창에서 로컬 지점을 마우스 오른쪽 버튼으로 클릭하고 "이름 바꾸기 ..."를 선택하십시오.


원하는 경우 :

  • git 저장소의 이름을 변경하고 다음을 실행합니다. git branch -m <oldname> <newname>
  • 이전 분기 삭제 기준 : git push origin: old-name new-name
  • 그것을 사용하여 커밋하십시오 : git commit <newname>
    • 다음을 사용하여 밀어 넣으십시오 : git push origin new_branch_name:master
  • 상태를 확인하려면 다음을 사용하십시오 : git status
  • 체크 아웃하려면 git checkout 을 사용하십시오.

지금까지의 답변은 정확했지만 여기에 몇 가지 추가 정보가 있습니다 : '-m'(이동)으로 분기의 이름을 바꿀 수 있지만 '-M'은 기존의 이름이 있더라도 이름 변경을 강제하기 때문에 신중해야합니다. 이미 같은 이름의 지점. 다음은 'git-branch'맨 페이지에서 발췌 한 내용입니다.

-m 또는 -M 옵션을 사용하면 <oldbranch> 이름이 <newbranch> 로 바뀝니다. <oldbranch> 에 해당하는 reflog가 있으면 <oldbranch> 와 일치하도록 이름이 바뀌고 reflog 항목이 생성되어 브랜치 이름 바꾸기를 기억합니다. <newbranch> 가 있으면, -M을 사용하여 강제로 이름 바꾸기를 수행해야합니다.


로컬로 브랜치의 이름을 변경하려면 다음을 수행하십시오.

git branch -m [old-branch] [new-branch]

이제 원격 서버에서도 이러한 변경 사항을 전파해야합니다.

삭제 된 이전 분기의 변경 사항을 푸시하려면 다음을 수행하십시오.

git push origin :[old-branch]

새로운 가지 창조의 변화를 밀어 넣으려면 :

git push origin [new-branch]

현재 분기의 이름을 변경하려면 다음을 실행하십시오.

git branch -m [old_branch] [new_branch]

이전 원격 지점을 삭제하려면 다음을 실행하십시오.

git push origin :[old_branch]

이전 원격 지점을 삭제하고 새로운 원격 지점을 만들려면 다음을 실행하십시오.

git push origin :old_branch new_branch

분기 이름 변경 :

git branch -m old_branchname new_branchname

here -m 옵션의 긴 이름은 --move입니다. 그래서 우리는 또한

git branch --move old_branchname new_branchname

현재 브랜치의 이름을 바꾸려면 다음을 사용하십시오.

git branch -m new_branchname

또는

git branch -move new_branchname

이 변경 사항을 원격지로 이동하려면 다음을 사용하십시오.

git push origin :old_branchname new_branchname

그러면 old_branchname 원격 분기가 삭제되고 new_branchname 로컬 분기가 푸시됩니다.

git push origin -u new_branchname

그러면 new_branchname 로컬 분기에 대한 업스트림 브랜치가 재설정됩니다.


질문에 구체적으로 대답하려고합니다 (적어도 제목).

로컬 브랜치의 이름을 바꿀 수도 있지만 리모트에 이전 이름을 추적합니다.

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

이제 git push 를 실행하면 원격 old_branch ref가 로컬 new_branch 업데이트됩니다.

이 구성 을 알고 기억 해야합니다. 그러나 원격 브랜치 이름에 대한 선택권이 없다면 유용 할 수 있지만 마음에 들지 않습니다 (오, 내 말은, 당신이 그것을 좋아하지 않는 매우 좋은 이유가 있습니다!). 그리고 더 명확한 것을 선호합니다 해당 지사의 이름.

가져 오기 구성으로 재생하면 로컬 원격 참조의 이름을 바꿀 수도 있습니다. 즉, 분기에 대한 refs/remote/origin/new_branch ref 포인터를 가지 old_branch , 사실 origin 있는 old_branch 입니다. 그러나, 나는 당신의 마음의 안전을 위해 이것을 매우 낙담합니다.


다음은 분기 이름을 바꾸는 단계입니다.

1. switch to branch which needs to be renamed
2. git branch -m <new_name>
3. git push origin :<old_name>
4. git push origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017) : 명령 git status 를 실행하고 새로 생성 된 브랜치가 자신의 ref를 가리키고 오래된 것이 아닌 지 확인하십시오. 이전 분기에 대한 참조를 찾으면 다음을 사용하여 업스트림을 설정 해제해야합니다.

git branch --unset-upstream

Git GUI 사용자에게는 훨씬 간단해질 수 없습니다. Git GUI의 경우 Branch : Rename 메뉴 항목에서 생성 된 Branch Rename Branch 대화 상자의 드롭 다운 목록에서 분기 이름을 선택하고 새 이름을 입력 한 다음 "Rename"을 클릭합니다. 드롭 다운 목록을 찾을 위치를 강조 표시했습니다.


git branch -m old_branch_name  new_branch_name

또는

git branch --move old_branch_name new_branch_name

  1. 로컬 브랜치의 이름을 변경하십시오.

이름을 변경하려는 지점에있는 경우 :

git branch -m new-name

다른 지점에있는 경우 :

git branch -m old-name new-name
  1. 이전 이름 ​​원격 분기를 삭제하고 new-name 로컬 분기를 누릅니다.

git push origin :old-name new-name

  1. 새 이름 로컬 분기에 대한 업스트림 브랜치를 재설정하십시오. 분기로 전환 한 다음 :

git push origin -u new-name

또는이를 수행하는 빠른 방법은 다음 세 단계를 사용할 수 있습니다.

# 로컬로 브랜치 이름 바꾸기

git branch -m old_branch new_branch  

# 이전 원격 지점 삭제

git push origin :old_branch  

# 새로운 브랜치를 푸시하고 새로운 브랜치를 추적하도록 로컬 브랜치를 설정하십시오

git push --set-upstream origin new_branch   

추천 : https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html


로컬 에서 분기를 변경하는 것은 매우 쉽습니다 ...

이름을 변경하려는 지점에 있다면 간단히 다음과 같이하십시오.

git branch -m my_new_branch

그렇지 않으면 이름을 바꾸려는 master 아닌 다른 지사 또는 다른 지사 에 있다면 다음 작업을 수행하십시오.

git branch -m my_old_branch my_new_branch

또한 명령 줄 에서이 작업을 보여주기 위해 아래 이미지를 만듭니다.이 경우 master 브랜치에 있습니다. 예를 들면 다음과 같습니다.


그것을 할 수있는 간단한 방법 :

git branch -m old_branch new_branch         # Rename branch locally    
git push origin :old_branch                 # Delete the old branch    
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

자세한 내용은 this 참조 this .


분기를 가리키는 동안 분기 이름을 바꾸려면 다음을 수행하십시오.

git branch -m <oldname> <newname>

현재 분기의 이름을 바꾸려면 다음을 수행 할 수 있습니다.

git branch -m <newname>

이것을 기억하는 방법은 -m 이 "이동"(또는 mv )을위한 것이며, 이는 파일의 이름을 바꾸는 방법입니다.


SourceTree (강력히 추천합니다)를 사용하고자한다면, 지사를 마우스 오른쪽 버튼으로 클릭하고 'Rename'을 선택할 수 있습니다.


브랜치를 원격 서버로 푸시하고 싶지 않으므로이 예제가 유용합니다.

"my-hot-feature"라는 기존 지사가 있고이를 "feature-15"로 이름을 바꾸려고한다고 가정 해 봅시다.

먼저 로컬 브랜치를 변경하려고합니다. 이것은 더 쉬울 수 없습니다.

git branch -m my-hot-feature feature-15

자세한 정보 는 Git에서 로컬 및 원격으로 브랜치의 이름 변경을 참조 하십시오.


자식 버전 2.9.2

현재있는 지사 이름을 변경하려면 다음을 수행하십시오.

git branch -m new_name

다른 브랜치의 이름을 변경하려면 다음을 수행하십시오.

git branch -m old_name new_name

다른 브랜치의 이름을 이미 존재하는 이름으로 변경하려면 다음을 수행하십시오.

git branch -M old_name new_name_that_already_exists

참고 : 마지막 명령은 파괴적이며 브랜치의 이름을 바꿉니다. 그러나 브랜치 이름이 고유해야하므로 그 이름으로 이전 브랜치를 잃게됩니다.


아마도 다른 사람들이 언급했듯이 브랜치 이름 지정에서 대소 문자가 일치하지 않을 수 있습니다.

이러한 상황이 발생하면 Windows를 사용하고있는 것으로 추측 할 수 있습니다.

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

그런 다음 중간 단계를 수행해야합니다.

$ git branch -m temporary
$ git branch -m casesensitive

아무것도 더.


다음 명령을 사용하여 분기의 이름을 바꿉니다.

git branch -m [old_branch_name] [new_branch_name]

-m : 브랜치의 이름을 바꾸거나 이동합니다. 이미 지점이있는 경우 오류가 발생합니다.

이미 브랜치가 있고 해당 브랜치로 이름을 바꾸려면 다음을 사용하십시오.

 git rename -M [old_branch_name] [new_branch_name]

도움말에 대한 자세한 내용은 터미널에서 다음 명령을 사용하십시오.

git branch --help

또는

man git branch

위의 모든 내용은 git branch -m 대한 것입니다. 물론, 작동하기는 쉽지만 나에게는 또 다른 git 명령을 기억하기가 약간 어려울 수 있습니다. 그래서 나는 익숙한 명령으로 일을 끝내려고 노력했다. 그래, 너는 그것을 짐작할 수있다.

git branch -b <new_branch_name> 을 사용합니다. 이전 브랜치를 저장하지 않으려면 git branch -D <old_branch_name> 을 실행하여 제거하십시오.

조금 지루할 수도 있지만 이해하고 기억하는 것이 더 쉽다는 것을 알고 있습니다. 도움이 되길 바랍니다.


현재 분기의 이름을 바꾸려면 (분리 된 HEAD 상태 제외)이 별칭을 사용할 수도 있습니다.

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'




git-branch