방금 사용하여 로컬 지점의 이름을 바꿨습니다.
git branch -m oldname newname
그러나 이것은 지점의 로컬 버전 이름 만 바꿉니다. GitHub에서 이름을 바꾸려면 어떻게해야합니까?
방금 사용하여 로컬 지점의 이름을 바꿨습니다.
git branch -m oldname newname
그러나 이것은 지점의 로컬 버전 이름 만 바꿉니다. GitHub에서 이름을 바꾸려면 어떻게해야합니까?
답변:
언급 한 바와 같이 Github에서 이전 명령을 삭제하고 다시 밀어 넣으십시오. 그러나 사용 된 명령은 필요한 것보다 조금 더 장황합니다.
git push origin :name_of_the_old_branch_on_github
git push origin new_name_of_the_branch_that_is_local
단순한. git push 명령은 명령을 조금만 빼면 본질적으로 다음과 같습니다.
git push <remote> <local_branch>:<remote_branch>
따라서 local_branch를 지정하지 않고 푸시를 수행하는 것은 본질적으로 "내 로컬 저장소에서 아무것도 가져 가지 않고 원격 브랜치로 만듭니다"를 의미합니다. 나는 항상 이것이 완전히 엉뚱하다고 생각했지만 그것이 끝난 방식입니다.
편집 : 현재 힘내 1.7 원격 지점을 삭제하기위한 대체 구문이있다 :
git push origin --delete name_of_the_remote_branch
편집 : 의견에서 @ void.pointer에서 언급했듯이
두 가지 푸시 조작을 결합 할 수 있습니다.
git push origin :old_branch new_branch
이전 분기를 삭제하고 새 분기를 푸시합니다.
이것은 원격의 원래 브랜치 및 새 브랜치 이름을 인수로 사용하는 간단한 별명으로 바꿀 수 있습니다 ~/.gitconfig
.
[alias]
branchm = "!git branch -m $2 $3 && git push $1 :$2 $3 -u #"
용법:
git branchm origin old_branch new_branch
쉘 명령의 위치 인수는 git의 이전 버전 (2.8 이전)에서 문제가되었으므로 별칭은 git 버전에 따라 달라질 수 있습니다. 자세한 내용은 이 토론 을 참조하십시오.
git push origin :old_branch new_branch
.. 이전 분기를 삭제하고 새 분기를 푸시합니다.
git branch -m new_branch
(이름 바꾸기 old_branch에 new_branch) 2. git commit -m 'msg'
3. git push
4. 그런가, old_branch 쇼까지 Github에서, 구글 질문 나는 당신의 대답 (5)을 주도하고에 git push origin :old_branch
6 (이 삭제 말한다) git push origin new_branch
... 완료는 말한다 * [new branch] new_branch -> old_branch
. Github로 돌아가서 다시 old_branch
나타납니다. Github 웹 UI에서 삭제하면 "복원"옵션이 있으므로 new_branch를 푸시하는 것이 복원 중입니다.
다음 명령이 나를 위해 일했습니다.
git push origin :old-name-of-branch-on-github
git branch -m old-name-of-branch-on-github new-name-for-branch-you-want
git push origin new-name-for-branch-you-want
git branch 이름을 변경하는 방법에 대한 3 가지 명령을 찾았습니다.이 명령은 더 빠른 방법입니다.
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 push --set-upstream
원격 지사를 삭제하기 전에 github 앱을 사용하여 지사 이름을 로컬로 변경하는 경우 가장 중요한 부분입니다.
이전 분기를 제거하고 새 분기를 만드십시오.
예 (원격 지사 이름 바꾸기) :
git push origin :refs/heads/oldname
git push origin newname:refs/heads/newname
로컬 브랜치의 이름을 바꾸고 푸시 / 풀 위치에 대한 설정을 변경해야 할 수도 있습니다.
git push origin newname:refs/heads/newname
? master와 newname은 같은 커밋을 가리 키지 않을 수 있습니다.
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
결론은
git branch -m new-name
git push origin :old-name new-name
git push origin -u new-name
git branch -m new-name && git push origin :master new-name
. 실패합니다. 이 답변이 github이 아닌 git에 관한 것이라면이 질문은 다른 몇 가지 질문과 중복되므로 닫아야합니다. 그것이 실제로 github에 관한 것이라면 대답은 github을 포함해야합니다. 이 답변은 그렇지 않습니다.
터미널없이 그렇게 할 수 있습니다. 새 이름으로 분기를 만들고 이전 이후를 제거하면됩니다. 이 게시물을 사용하여 그렇게 할 수 있습니다.
다른 방법은 다음 파일의 이름 을 바꾸는 것입니다 .
.git/refs/head/[branch-name]
로.git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/[branch-name]
로.git/refs/remotes/[all-remote-names]/new-branch-name
로컬 PC 와 원산지 / 원격 서버 모두에서 헤드 및 리모컨 이름 바꾸기
현재 branch-name에 슬래시 ( /
) 가 포함되어 있으면 git은 다음과 같이 디렉토리를 만듭니다.
현재 지점 이름 : "awe/some/branch"
.git/refs/head/awe/some/branch
.git/refs/remotes/[all-remote-names]/awe/some/branch
희망 지점 이름 : "new-branch-name"
branch
파일을 복사.git/refs/*/awe/some/
.git/refs/head/
.branch
모든 파일을 복사.git/refs/remotes/*/awe/some/
.git/refs/remotes/*/
.branch
파일의 이름을로 바꿉니다 new-branch-name
..git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/new-branch-name
awe/some/branch
이 new-branch-name
(로컬 및 원격)으로 변경되었습니다 .정보 : 이 방법은 최고는 아니지만 다른 방법으로 문제가있는 사람들에게는 여전히 효과적입니다.
내 경우에는
이름이 바뀐 분기를 푸시하기 위해 추가 명령 이 필요했습니다.
git branch --unset-upstream
origin newname
.
(입력하기 쉽도록) 먼저 git checkout oldname
.
그런 다음 다음을 실행하십시오.
git branch -m newname
git push origin :oldname
또는 또는git push origin --delete oldname
git branch --unset-upstream
git push -u origin newname
git push origin newname
이 추가 단계는를 통해 지점에 원격 추적을 설정하기 때문에 필요할 수 있습니다 . 이 방법으로 체크 아웃하면 나중에 유형 이 필요합니다.git push
-u
origin oldname
oldname
git push
git push origin oldname
내가 않는 경우 NOT 명령을 사용 git branch --unset-upstream
하기 전에 git push origin newbranch
, 자식 재 - 생성 oldbranch
과 푸시 newbranch
에 origin oldbranch
- 내 의도를 물리 치고.
다음 명령은 지점의 이름을 로컬로 바꾸고 원격 위치에서 이전 지점을 삭제 한 다음 새 지점을 밀어 로컬 지점을 설정하여 새 원격을 추적합니다.
git branch -m old_branch new_branch
git push origin :old_branch
git push --set-upstream origin new_branch
그렇게 간단합니다 . git 브랜치를 로컬 및 원격으로 이름을 바꾸려면이 스 니펫을 사용하십시오 (테스트되고 매력처럼 작동 함).
git branch -m <oldBranchName> <newBranchName>
git push origin :<oldBranchName>
git push --set-upstream origin <newBranchName>
설명:
단계 이름 바꾸기 :
힘내 참조 : -m 또는 -M 옵션 을 사용하면 이름이로 변경됩니다. 해당 reflog가 있으면 일치하도록 이름이 바뀌고 분기 이름 변경을 기억하기 위해 reflog 항목이 작성됩니다. 존재하는 경우 -M을 사용하여 이름 변경을 강제 실행해야합니다.
단계 삭제 :
Git 참조 : git push origin : experimental 오리진 저장소 (예 : 참조 / 헤드 / 실험)에서 실험과 일치하는 참조를 찾아 삭제합니다.
원격 리포지토리 단계 업데이트 (추적을위한 업스트림 참조) :
Git 참조 : --set-upstream 최신 또는 성공적으로 푸시 된 모든 브랜치에 대해 인수가없는 git-pull [1] 및 기타 명령에서 사용하는 업스트림 (추적) 참조를 추가하십시오. 자세한 내용은 git-config [1]의 branch..merge를 참조하십시오.