git - 삭제 - 브랜치 이름




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

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

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


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

  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


PHPStorm :

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


git branch rename은 다음을 사용하여 수행 할 수있다.

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

-m-M의 차이,

-m : 분기 이름이 exm 인 이름을 -m 을 사용하여 이름을 바꾸려고하면 오류가 발생하며 분기는 이미 존재합니다. 당신은 고유 한 이름을 부여해야합니다.

그러나,

-M : 이것은 존재하는 이름으로도 이름을 변경하도록합니다. 그래서 기존 지점은 완전히 그것으로 덮어 씁니다 ...

여기에 자식 터미널 예제입니다,

[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$ 

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

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 checkout -dumb-name

git checkout -- -dumb-name

" s, s 및 \ s도 도움이되지 않았습니다. git branch -m 이 작동하지 않습니다.

나는 그것을 마침내 고쳤다. 작업 사본의 .git / refs / heads로 가서 파일 이름 "-dumb-name"을 찾은 다음 분기의 해시를 가져옵니다. 그런 다음이 작업을 확인하고 정상적인 이름으로 새 분기를 만들고 이전 분기를 삭제합니다.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

다음 세 단계가 있습니다. 터미널에서 호출하여 지사 이름을 변경할 수있는 명령입니다.

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

더 많은 것을 원한다면 단계별로 Git Branch Name을 변경하는 방법 에 관한 좋은 기사를 읽어보십시오.


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

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 branch -m [old-branch] [new-branch]

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

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

git push origin :[old-branch]

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

git push origin [new-branch]

분기가 끝나면 분기의 이름을 변경하는 것이 유용 할 것입니다. 그런 다음 새로운 것들이오고, 당신은 그것을 삭제하고 새로운 것을 만드는 대신에 같은 지점에서 개발하기를 원합니다.

내 경험에 힘내 로컬 및 원격 지사의 이름을 바꾸려면 다음 단계를 수행해야합니다.

여러 상태 에서 인용 - git에서 로컬 및 원격 분기 이름 바꾸기

1. 로컬 브랜치의 이름 바꾸기

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

git branch -m new-name

다른 지점에있는 경우 :

git branch -m old-name new-name

2. 이전 이름 ​​원격 분기를 삭제하고 새 이름 로컬 분기를 누릅니다.

git push origin :old-name new-name

3. 새 이름 로컬 분기에 대한 업스트림 브랜치 재설정

git push origin -u new-name

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

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

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

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

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


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

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

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

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

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

아무것도 더.


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

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

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


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

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


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

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

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

git branch -m <newname>

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


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

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

git branch -m my_new_branch

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

git branch -m my_old_branch my_new_branch

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


자식 버전 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

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


git branch -m old_branch_name  new_branch_name

또는

git branch --move old_branch_name new_branch_name




git-branch