source

분기를 로컬로 제거하는 방법은 무엇입니까?

nicesource 2023. 7. 3. 22:56
반응형

분기를 로컬로 제거하는 방법은 무엇입니까?

저장소에 마스터와 개발 브랜치가 있습니다.실수로 마스터 분기를 커밋하지 않도록 컴퓨터에서 마스터 분기를 제거하려고 합니다.

여기에 로컬 및 원격으로 지점을 삭제하는 방법에 대한 질문이 있지만, 로컬에서만 지점을 삭제하는 방법을 찾지 못했습니다.

한 대답은 다음과 같습니다.

git branch -d local_branch_name

하지만 저는 그것을 시도했고 GitHub 애플리케이션에 브랜치가 여전히 나타납니다.

로컬 분기를 강제로 삭제하는 방법

$ git branch -D <branch-name>

[참고]:

-D의 바로 가기입니다.--delete --force.


귀하의 의견을 바탕으로 귀하가 원하는 작업을 이해하고 있다고 생각합니다. 귀하는 저장소의 로컬 복사본에 일반 로컬 분기가 없기를 원합니다.master원격 감지 지점도 아닙니다.origin/master복제한 저장소(github)에 로컬 분기가 있음에도masterGithub 버전에서 삭제하지 않을 것입니다.

원격 추적 브랜치를 로컬로 삭제하여 이 작업을 수행할 수 있지만, Git가 "어떤 브랜치가 있습니까?"라고 묻기 때문에 Git가 로컬 리포지토리와 원격 리포지토리를 동기화하도록 요청할 때마다 Git가 다시 표시됩니다.master그래서 당신의 깃(재)은.origin/master당신을 위해, 당신의 저장소가 그들의 것을 가질 수 있도록.

명령줄 인터페이스를 사용하여 원격 추적 분기를 로컬로 삭제하는 방법

git branch -d -r origin/master

하지만 다시, 그것은 단지 재동기화로 돌아올 것입니다.이를 물리칠 도 있습니다(사용).remote.origin.fetch조작), 하지만 당신은 생성하거나 수정하지 않을 정도로 충분히 훈련받는 것이 더 나을 것입니다.master지방적으로.

제가 원래의 문제를 이해하는 한, 당신은 실수로 로컬 마스터에 커밋을 추가했고 아직 그 변경 사항을 푸시하지 않았습니다.이제 변경 내용을 취소하고 로컬 변경 내용을 삭제하고 원격 마스터 분기에서 새 마스터 분기를 생성하려고 합니다.

변경 사항을 재설정하고 원격 서버에서 마스터를 다시 로드하면 됩니다.

git reset --hard origin/master

Windows용 Github 응용 프로그램은 리포지토리의 모든 원격 분기를 표시합니다.분기를 로컬로 삭제한 경우$ git branch -d [branch_name]원격 분기는 여전히 Github 저장소에 있으며 Windows Github 응용 프로그램에 관계없이 나타납니다.

를 완전히하려면 위 합니다.$ git push origin :[name_of_your_new_branch]경고: 이 명령은 기존의 모든 분기를 지우며 코드가 손실될 수 있습니다.조심하세요, 저는 이것이 당신이 하려는 것이 아니라고 생각합니다.

그러나 로컬 분기를 삭제할 때마다 응용프로그램에 원격 분기가 계속 나타납니다.계속 변경하지 않으려면 무시하고 클릭하지 마십시오. 그렇지 않으면 리포지토리를 복제할 수 있습니다.더 궁금하신 점이 있으시면 알려주시기 바랍니다.

다음을 사용하여 분기를 삭제한 후:

git branch -d BranchName

원격 저장소에 더 이상 존재하지 않는 분기를 제거하려면 다음을 사용합니다.

git fetch -p

-p원격에 없는 로컬 리포지토리에서 분기를 제거합니다.

Git GUI를 사용하여 창에서 여러 분기를 삭제할 수 있습니다.

  1. 프로젝트 폴더로 이동
  2. Git Gui 열기:
  3. '지점'을 클릭합니다.
  4. 이제 '삭제'를 선택합니다.
  5. 병합 여부 외에 모든 분기를 삭제하려면 '항상( 병합 검사 수행 안 함)'을 선택합니다.

다른 지점으로 전환하고 동일하게 시도해야 합니다.

git branch -d

git branch | grep -v "develop" | grep -v "master" | xargs git branch -D

간단하고 쉽습니다.작업 중인 항목을 제외한 모든 항목이 삭제되고 "개발" 및 "마스터"가 삭제됩니다.

당신의 꼬리표로 볼 때, 당신이 깃허브를 사용하고 있다고 생각합니다.마스터 분기에 대한 분기 보호 규칙을 만드는 것이 어떻습니까?그렇게 하면 마스터로 밀어 넣으려고 해도 거부됩니다.

Github에서 자신의 계정의 '설정' 탭으로 이동합니다.

왼쪽 메뉴에서 '지점'을 클릭합니다.

'규칙 추가' 클릭

분기 패턴에 'master'를 입력합니다.

'합병하기 전에 꺼내기 요청 검토 필요'를 확인합니다.

저는 당신의 dev 브랜치에도 똑같이 하는 것을 추천합니다.

언급URL : https://stackoverflow.com/questions/28258679/how-to-remove-a-branch-locally

반응형