태그 보관물: rename

rename

Git 로컬 이름과 원격 지점 이름을 어떻게 바꾸나요? 보시다시피, 잘못된 이름을 입력했습니다. 그래서 원격 지점 이름의

master-> origin / regacy, FeatureA-> origin / FeatureA와 같은 네 가지 분기가 있습니다. 보시다시피, 잘못된 이름을 입력했습니다.

그래서 원격 지점 이름의 이름을 바꾸고 싶습니다 (원산지 / 레거시 → 출발지 / 레거시 또는 출발지 / 마스터)

아래 명령을 시도하십시오.

git remote rename regacy legacy

그러나 Git 콘솔은 나에게 오류 메시지를 반환했습니다.

 error : Could not rename config section 'remote.regacy' to 'remote.legacy'

이 문제를 어떻게 해결할 수 있습니까?



답변


이를 달성하는 몇 가지 방법이 있습니다.

  1. 지역 지점을 변경 한 다음 변경 사항을 적용하십시오
  2. 원래 이름을 로컬로 유지하면서 지점을 새 이름으로 원격으로 푸시

로컬 및 원격 이름 바꾸기

# Rename the local branch to the new name
git branch -m <old_name> <new_name>

# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete <old_name>

# Or shorter way to delete remote branch [:]
git push <remote> :<old_name>

# Push the new branch to remote
git push <remote> <new_name>

# Reset the upstream branch for the new_name local branch
git push <remote> -u <new_name>


원격 지사 만 이름 바꾸기

크레딧 : ptim

# In this option, we will push the branch to the remote with the new name
# While keeping the local name as is
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>

중요 사항:

git branch -m(이동) 을 사용하면 Git은 추적 지점을 새로운 이름으로 업데이트 합니다.

git remote rename legacy legacy

git remote rename구성 파일에서 원격 섹션을 업데이트하려고합니다. 주어진 이름으로 리모컨의 이름을 새 이름으로 바꾸지 만, 찾지 못한 경우 이름을 바꾸지 못했습니다.

그러나 그것은 당신이 생각하는 것을하지 않을 것입니다. 원격 분기가 아닌 로컬 구성 원격 이름의 이름 을 바꿉니다 . 


참고
Git 서버를 사용하면 웹 인터페이스 또는 외부 프로그램 (예 : Sourcetree 등)을 사용하여 Git 브랜치의 이름을 바꿀 수 있지만 Git에서는 모든 작업이 로컬에서 수행되므로 위 명령을 사용하는 것이 좋습니다. 일에.


답변

지점의 이름을 잘못 지정하고이를 원격 저장소로 푸시 한 경우 다음 단계에 따라 해당 지점의 이름을 바꾸십시오 ( 이 기사에 따라 ).

  1. 현지 지점의 이름을 바꾸십시오.

    • 지점에 있다면 이름을 바꾸십시오.
      git branch -m new-name

    • 다른 지점에있는 경우 :
      git branch -m old-name new-name

  2. old-name원격 브랜치를 삭제하고 new-name로컬 브랜치를 푸시하십시오 .
    git push origin :old-name new-name

  3. 상류 새로운 이름 지역 지점에 대한 지점 재설정 :
    다음 분기 및 전환을 :
    git push origin -u new-name


답변

직접적인 방법이있는 것 같습니다.

로컬 지점의 이름을 바꾸지 않고 원격으로 지점의 이름을 바꾸려면 다음과 같은 단일 명령 으로이 작업을 수행 할 수 있습니다

git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>

Git에서 원격으로 브랜치 이름 바꾸기

자세한 내용은 원래 답변을 참조하십시오.


답변

다음과 같은 방법으로도 수행 할 수 있습니다.

먼저 로컬 지점의 이름을 바꾼 다음 원격 지점의 이름을 바꿉니다.

현지 지사 이름 바꾸기 :

다른 지점에 로그인 한 경우

git branch -m old_branch new_branch

같은 지점에 로그인 한 경우

git branch -m new_branch

원격 지사 이름 바꾸기 :

git push origin :old_branch    // Delete the remote branch

git push --set-upstream origin new_branch   // Create a new remote branch

답변

이미 잘못된 이름을 원격으로 푸시 한 경우 다음을 수행하십시오.

  1. 이름을 바꾸려는 로컬 지점으로 전환

    git checkout <old_name>

  2. 로컬 지점 이름 바꾸기

    git branch -m <new_name>

  3. <new_name>로컬 브랜치를 푸시하고 업스트림 브랜치를 재설정

    git push origin -u <new_name>

  4. <old_name>원격 지사 삭제

    git push origin --delete <old_name>

이것은 이 기사를 기반으로 했다 .


답변

현재 지점의 이름을 변경하기위한 간단한 코드 조각 첨부 (로컬 및 원점) :

git branch -m <oldBranchName> <newBranchName>
git push origin :<oldBranchName>
git push --set-upstream origin <newBranchName>

자식 문서의 설명 :

자식 분기 -m 또는 -M 옵션은로 이름이 변경됩니다. 해당 reflog가 있으면 일치하도록 이름이 바뀌고 분기 이름 변경을 기억하기 위해 reflog 항목이 작성됩니다. 존재하는 경우 -M을 사용하여 이름 변경을 강제 실행해야합니다.

특별한 참조 사양 : (또는 + : 빨리 감기가 아닌 업데이트를 허용하기 위해) Git은 “일치하는”분기를 푸시하도록 지시합니다. 로컬 측에 존재하는 모든 분기에 대해 동일한 이름의 분기가 이미 존재하면 원격 측이 업데이트됩니다 원격쪽에.

–set-upstream
의 추적 정보를 설정하므로 업스트림 분기로 간주됩니다. no를 지정하면 기본적으로 현재 분기로 설정됩니다.


답변

직접적인 방법은 없습니다

  1. 로컬 지점 이름 바꾸기 ,

    내 현재 지점은 마스터입니다

    git branch -m master_renamed #master_renamed는 새로운 마스터 이름입니다.

  2. 원격 지사 삭제

    git push origin --delete master #origin은 remote_name입니다

  3. 이름이 바뀐 지점을 원격으로 푸시

    git push origin master_renamed

그게 다야 …