programing

로컬 Git 브랜치의 이름을 변경하려면 어떻게 해야 합니까?

starjava 2023. 4. 22. 08:23
반응형

로컬 Git 브랜치의 이름을 변경하려면 어떻게 해야 합니까?

원격 저장소에 아직 푸시되지 않은 로컬 브랜치의 이름을 변경하려면 어떻게 해야 합니까?

관련:

현재 분기의 이름을 변경하려면:

git branch -m <newname>

브런치를 가리킨 상태에서 브런치 이름을 변경하려면 다음 절차를 따릅니다.

git branch -m <oldname> <newname>

-m 말하다--move.


로컬 브런치를 푸시하여 업스트림브런치를 리셋하려면 다음 절차를 수행합니다.

git push origin -u <newname>

리모트 브랜치를 삭제하려면 , 다음의 순서에 따릅니다.

git push origin --delete <oldname>

「」를 git rename 에일리어스:

git config --global alias.rename 'branch -m'

다른 를 구분하지 않는 를 사용합니다.-M이름에 대문자만 있는 경우.그렇지 않으면 Git은 "branch exists" 오류를 발생시킵니다.

git branch -M <newname>
git branch -m old_branch_name new_branch_name

위의 명령어는 브랜치 이름을 변경하지만 이름이 변경된 브랜치에는 연관된 오래된 업스트림브런치(있는 경우)가 계속 표시되므로 브랜치 사용에 매우 주의해야 합니다.

로컬 브랜치 이름이 new_branch_name(예명)으로 변경된 후 마스터에 일부 변경을 푸시하는 경우:

git push origin new_branch_name:master(이 (new_branch_name 입니다

자세한 내용은 "Git에서 로컬 지점 이름을 변경하는 방법"을 참조하십시오.

현재 분기의 이름을 변경하려면:

git branch -m <newname>

브랜치의 이름을 변경하는 순서는 다음과 같습니다.

  1. 이름을 변경해야 하는 분기로 전환합니다.
  2. git branch -m <new_name>
  3. git push origin :<old_name>
  4. git push origin <new_name>:refs/heads/<new_name>

편집 (2017년 12월 01일) :명령어를 실행해야 합니다.git status새로 생성된 브랜치가 오래된 브랜치가 아닌 자체 참조를 가리키는지 확인합니다.오래된 브랜치에 대한 참조가 발견되면 다음을 사용하여 업스트림 설정을 해제해야 합니다.

git branch --unset-upstream

브랜치가 종료되면 브랜치 이름을 변경하는 것이 편리합니다.그러면 새로운 것이 등장하고, 그것을 삭제하고 새로운 것을 작성하는 것이 아니라, 같은 브랜치로 개발하려고 합니다.

제 경험상 Git에서 로컬 및 리모트 브랜치의 이름을 변경하려면 다음 단계를 수행해야 합니다.

여러 상태에서 인용 - 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

지금까지의 답변은 맞았습니다만, 여기에 몇 가지 추가 정보가 있습니다.

'-m'(이동)으로 브랜치 이름을 안전하게 바꿀 수 있지만 이미 같은 이름의 브랜치가 있더라도 강제로 이름을 바꾸므로 '-M'에 주의해야 한다.다음은 'git-branch' man 페이지에서 발췌한 것입니다.

또는 에서는 -m " -M " "<oldbranch> will will will will will will will will will will will will will will 로 이름이 바뀝니다.<newbranch>.<oldbranch>, 「reflog」의 이 「reflog」의 「reflog」의 「reflog」의 「reflog」와 일치하도록 됩니다.<newbranch>브랜치 이름 변경을 기억하기 위해 reflog 엔트리가 생성됩니다. if<newbranch>존재하며 이름을 강제로 변경하려면 -M을 사용해야 합니다.

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

나는 어리석게도 하이픈으로 시작하는 지점에 이름을 붙이고 나서 마스터를 체크아웃했다.내 브랜치를 삭제하고 싶지 않았어. 작업이 있었거든.

어느 쪽도 효과가 없었습니다.

git checkout -dumb-name

git checkout -- -dumb-name

"s,' §\스스무리무리무리무리무리무리무리무리무리무리무리무리. git branch -m동작하지 않습니다.

내가 마침내 고친 방법은 이렇다.작업 복사본의 .git/refs/heads로 이동하여 파일 이름 "-dumb-name"을 찾고 분기의 해시를 가져옵니다.그런 다음 체크하고 새 브랜치를 정상적인 이름으로 만들고 오래된 브랜치를 삭제합니다.

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

하는 단계입니다.remote깃허브

1 서 1git branch -m old_branchname new_branchname

2 서 22git push origin :old_branchname new_branchname

3 서 3git push --set-upstream origin new_branchname

지점 이름을 로컬로 변경하려면:

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

이제 리모트 서버에도 이러한 변경을 전파해야 합니다.

삭제된 오래된 분기의 변경을 푸시하려면:

git push origin :[old-branch]

새 분기의 작성 변경을 푸시하려면:

git push origin [new-branch]

업데이트 2023

시작하기 전에 이름을 변경할 분기가 선택되었는지 확인하십시오.

git checkout old-name

모든 로컬브런치를 표시하려면 다음 명령을 사용합니다.

git branch --list

이상이 없으면 다음 단계를 수행합니다.

  1. Git rename branch 명령을 사용하려면 명령에 -m 옵션을 추가해야 합니다.

    git branch -m new-name
    
  2. 다음 두 가지 명령을 사용하여 로컬 브랜치의 이름을 다른 브랜치에서 변경할 수도 있습니다.

    git checkout master
    
    git branch -m old-name new-name
    
  3. 마지막으로 로컬 및 리모트브런치를 모두 나열하여 이름이 변경되었는지 확인합니다.

    git branch -a
    

리모트 브랜치의 이름을 직접 변경할 수는 없지만, 1개의 브랜치의 이름을 변경하는 프로세스에는 다음의 2개의 간단한 순서가 있습니다.

  1. 시작하려면 이전 단계에 따라 로컬 브랜치의 이름을 변경해야 합니다.2 .그런 다음 이전 분기를 삭제하고 분기를 푸시합니다.이 작업은 다음 명령을 사용하여 쉽게 수행할 수 있습니다.

     git push origin :old-name new-name
    
  2. 새로운 로컬브런치의 업스트림브런치를 리셋 하면, 다음의 설정이 완료됩니다.

    git push origin -u new-name
    

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

로컬 브랜치의 이름을 변경할 수도 있지만 원격에서 이전 이름을 계속 추적할 수 있습니다.

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

를하면 신신 now now now now now now now now now nowgit push , 「」old_branch되었습니다.new_branch.

설정을 이해하고 기억해야 합니다.다만, 리모트 브랜치명을 선택할 수 없지만, 마음에 들지 않는(아, 마음에 들지 않는 이유가 있는 것이군요!) 로컬 브랜치명을 명확하게 하고 싶은 경우는 편리합니다.

Configuration을 remote-reference의 도 있습니다. 로컬 할 수 .refs/remote/origin/new_branch는 「」)old_branchorigin하지만, 당신의 마음의 안전을 위해 저는 이것을 매우 권합니다.

현재 브랜치 이름을 새 브랜치 이름으로 변경하려면 다음 절차를 수행합니다.

git branch -m <new_name>

작업 중인 현재 분기의 새 이름이 설정됩니다.


다른 브랜치의 이름을 변경하려면:

git branch -m <old_name> <new_name>

여기서 이전 지점 이름과 새 지점 이름을 제공해야 합니다.

다음 명령을 사용하여 브랜치의 이름을 변경합니다.

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 사용자는 다음을 사용하여 수동으로 이름을 변경할 수 있습니다.

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name
  1. 로컬 브랜치의 이름을 변경합니다.

이름을 변경할 분기에 있는 경우:

git branch -m new-name

다른 지점에 있는 경우:

git branch -m old-name new-name
  1. 오래된 이름의 리모트브런치를 삭제하고 새 이름의 로컬브런치를 푸시합니다.

git push origin :old-name new-name

  1. 새로운 이름의 로컬브런치 업스트림브런치를 리셋 합니다.브랜치로 전환하여 다음 작업을 수행합니다.

git push origin -u new-name

또는, 다음의 3개의 순서를 사용해 간단하게 실시할 수 있습니다.

# 로컬로 브랜치 이름 변경

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 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

더 필요한 경우: 단계별로, How To Change Git Branch Name이 이에 대한 좋은 기사입니다.

아마 다른 사람들이 언급했듯이, 이것은 지점 이름에서 대소문자가 일치하지 않을 것입니다.

이러한 상황이 발생하면 Windows에 접속하고 있을 것으로 추측됩니다.그 결과, 다음과 같은 조작이 가능하게 됩니다.

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

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

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

더 이상은 없어요.

지점을 로컬로 바꾸는 것은 매우 간단합니다.

이름을 변경하는 브랜치에 있는 경우는, 다음의 조작을 실시합니다.

git branch -m my_new_branch

이외의 경우는, 「」에 있는 .master또는 이름을 변경하고 싶은 브랜치 이외의 브랜치에서는, 다음의 조작을 실시해 주세요.

git branch -m my_old_branch my_new_branch

, 이것을 커맨드 라인에 표시하기 위해서, 이하의 이미지를 작성합니다.이 경우는, 온이 됩니다.master예를 들어 다음과 같습니다.

지점 이름 로컬 변경

(분리된 HEAD 상태를 제외하고) 현재 브랜치의 이름을 변경하려면 다음 에일리어스를 사용할 수도 있습니다.

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

브런치를 리모트서버에 푸시하지 않는 경우는, 다음의 예를 참조해 주세요.

"my-hot-feature"라는 기존 브런치가 있고 그 이름을 "feature-15"로 바꾸려고 합니다.

먼저 로컬 지점을 변경하려고 합니다.이보다 더 쉬운 일은 없습니다.

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

자세한 내용은 Git에서 로컬원격 브랜치 이름 변경을 참조하십시오.

Source Tree(강력하게 권장)를 사용할 경우 해당 지점을 마우스 오른쪽 버튼으로 클릭하고 '이름 변경'을 선택할 수 있습니다.

여기에 이미지 설명 입력

다른 옵션은 명령줄을 전혀 사용하지 않는 것입니다.SourceTree와 같은 Git GUI 클라이언트는 Stack Overflow에서 이러한 질문을 가장 많이 볼 수 있는 구문적인 학습 곡선이나 문제를 대부분 제거한다.

SourceTree에서 왼쪽의 "Branches" 창에서 로컬 분기를 마우스 오른쪽 버튼으로 클릭하고 "Rename..."을 선택합니다.

간단한 방법:

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 버전 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] [new_branch]

오래된 리모트브런치를 삭제하려면 , 다음의 순서에 따릅니다.

git push origin :[old_branch]

오래된 리모트브런치를 삭제하고 새로운 리모트브런치를 작성하려면 다음 절차를 수행합니다.

git push origin :old_branch new_branch

실제로는 3개의 스텝이 있습니다.로컬 브랜치가 서버에 중복되어 있기 때문에 서버상의 2개의 스텝으로 로컬을 위한1개의 스텝이 있습니다.

  1. 로컬 이름 바꾸기: 다음 명령을 사용하여 현재 분기의 이름을 변경하십시오(체크 아웃한 경우에도).
    git branch -m <old-branch-name> <new-branch-name>
    
  2. 서버 1을 삭제합니다.다음 명령을 사용하여 서버상의 오래된 이름 브랜치를 삭제합니다.
    git push <remote-name[origin by default]> :<old-branch-name>
    
  3. 브랜치를 푸시합니다.이제 서버에 명명된 새 브랜치를 푸시합니다.
    git push -u <new-branch-name>
    

Git 분기 이름은 다음을 사용하여 변경할 수 있습니다.

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

-m-M의 차이:

-m: -m을 사용하여 지점 이름을 기존 지점 이름으로 바꾸려는 경우.브랜치가 이미 존재한다고 하는 에러가 발생합니다.고유한 이름을 붙여야 합니다.

그렇지만,

-M: 이 기능을 사용하면 이름이 존재하더라도 이름을 강제로 변경할 수 있습니다.따라서 기존 브랜치 전체가 브랜치로 덮어쓰게 됩니다.

여기 Git 단말기의 예가 있습니다.

mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test
mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
mohideen@dev:~/project/myapp/sunithamakeup$

앞서 말한 모든 답변은 다음과 같습니다.git branch -m물론 조작은 쉽지만, 다른 Git 명령어를 기억하는 것은 조금 어려울지도 모릅니다.그래서 나는 익숙한 명령으로 일을 끝내려고 노력했다.네, 짐작하실 수 있을 겁니다.

사용하고 있다git branch -b <new_branch_name>오래된 브런치를 저장하지 않으려면 지금 바로 실행할 수 있습니다.git branch -D <old_branch_name>제거할 수 있습니다.

조금 지루할 수도 있겠지만, 이해하고 기억하는 게 더 쉬워요.당신에게 도움이 되었으면 좋겠어요.

Git GUI 사용자에게는 이보다 더 간단할 수 없다.Git GUI의 [브런치 이름 변경]대화상자의 드롭다운목록에서 브런치 이름을 선택합니다.이름을 변경하고 새 이름을 입력한 후 "이름 변경"을 클릭합니다.드롭다운 목록의 위치를 강조 표시했습니다.

로컬 Git 분기 이름 바꾸기

언급URL : https://stackoverflow.com/questions/6591213/how-do-i-rename-a-local-git-branch

반응형