programing

Git 브랜치를 로컬 및 원격으로 삭제하려면 어떻게 해야 합니까?

easyjava 2023. 4. 19. 23:37
반응형

Git 브랜치를 로컬 및 원격으로 삭제하려면 어떻게 해야 합니까?

리모트 브랜치 삭제 실패:

$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.

$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.

$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).

$ git push
Everything up-to-date

$ git pull
From github.com:gituser/gitproject

* [new branch] bugfix -> origin/bugfix
Already up-to-date.

「 」를 해야 합니까?remotes/origin/bugfix로컬과 리모트 모두에서 브런치를 실행할 수 있습니까?

이그제큐티브 서머리

git push -d <remote_name> <branchname>
git branch -d <branchname>

주의: 대부분의 경우,<remote_name> 되다origin.

로컬 브랜치 삭제

로컬 브랜치를 삭제하려면 다음 중 하나를 사용합니다.

git branch -d <branch_name>
git branch -D <branch_name>
  • -d은 option "의 입니다.--delete는 이미 업스트림브런치에서 완전히 Marge된 경우에만 브런치를 삭제합니다.
  • -D은 option "의 입니다.--delete --force 「마지 상태[파일명 : ]man git-branch
  • Git v2.3에서는git branch -d하는 -f flag (force) 'force'
  • 현재 선택한 분기를 삭제하려고 하면 오류가 표시됩니다.

원격 지점 삭제

Git v1.7.0 에서는, 다음의 방법으로 리모트 브랜치를 삭제할 수 있습니다.

$ git push <remote_name> --delete <branch_name>

기억하기 쉬울지도 몰라

$ git push <remote_name> :<branch_name>

리모트 브랜치 또는 태그를 삭제하기 위해 Git v1.5.0에 추가되었습니다.

Git v2.8.0 이후로는git push-d로서의 --delete따라서 설치한 Git 버전에 따라 더 쉬운 구문을 사용해야 하는지 아니면 더 어려운 구문을 사용해야 하는지 알 수 있습니다.

리모트 브랜치 삭제 [2010년 1월 5일 답변]

Scott Chacon의 프로 Git 3장부터:

리모트 브랜치 삭제

리모트 브랜치를 종료했다고 가정합니다.예를 들어, 리모트의 메인 브랜치(또는 안정된 코드 라인이 있는 브랜치)에 기능을 통합했습니다.한 구문을 할 수 있습니다.git push [remotename] :[branch]. <> 의 <고객명> >serverfix서버로부터의 브랜치에서는, 다음의 조작을 클릭합니다.

$ git push origin :serverfix
To git@github.com:schacon/simplegit.git
 - [deleted]         serverfix

서버상에 브랜치가 없어졌어요.명령어가 필요하기 때문에 구문을 잊어버릴 수 있으므로 이 페이지를 접는 것이 좋습니다.하려면 , 「 」를 합니다.git push [remotename] [localbranch]:[remotebranch]아까 설명했던 구문입니다.「 」를 하면,[localbranch]기본적으로 '도 내 내 편으로 라고 말하는 [remotebranch]

git push origin: bugfix, 그리고 그것은 아름답게 작동했다.Scott Chacon이 옳았다.그 페이지를 접고 싶다(또는 Stack Overflow에서 이 질문에 답함으로써 사실상 개의 귀를 닫는다).

마지막으로 변경을 전파하려면 다른 머신에서 다음 작업을 수행합니다.

# Fetch changes from all remotes and locally delete 
# remote deleted branches/tags etc
# --prune will do the job :-;
git fetch --all --prune

Matthew의 답변은 원격지 제거에 매우 적합합니다.또한 설명에 감사드립니다만, 두 명령어를 간단하게 구별해 주세요.

  • 머신에서 로컬브런치를 삭제하려면git branch -d {local_branch}(사용)-D대신 병합 상태를 확인하지 않고 분기를 강제로 삭제합니다.)

  • 서버에서 리모트브런치를 삭제하려면:git push origin -d {remote_branch}.

레퍼런스:Git: 브랜치를 삭제합니다(로컬 또는 리모트).

짧은 답변

다음 명령어에 대한 자세한 설명은 다음 섹션의 긴 답변을 참조하십시오.

원격 지점 삭제

git push origin --delete <branch>  # Git version 1.7.0 or newer
git push origin -d <branch>        # Shorter version (Git 1.7.0 or newer)
git push origin :<branch>          # Git versions older than 1.7.0

로컬 브랜치 삭제

git branch --delete <branch>
git branch -d <branch> # Shorter version
git branch -D <branch> # Force-delete un-merged branches

로컬 원격 추적 분기 삭제

git branch --delete --remotes <remote>/<branch>
git branch -dr <remote>/<branch> # Shorter

git fetch <remote> --prune # Delete multiple obsolete remote-tracking branches
git fetch <remote> -p      # Shorter

긴 답변: 삭제할 브랜치가 3개 있습니다.

로컬과 리모트 모두에서 브랜치를 삭제하는 경우는, 다음의 3개의 브랜치가 관련하는 것에 주의해 주세요.

  1. 브런치 " " " 」X.
  2. " " " "X.
  3. origin/X합니다.X.

3가지 브런치 시각화

사용된 포스터 원본:

git branch -rd origin/bugfix

지역 원격 추적 지점만 삭제한 거죠 origin/bugfix 브랜치가 bugfixorigin.

그림 2

실제 리모트 브랜치를 삭제하려면

git push origin --delete bugfix

그림 3

기타 상세

여기에서는 리모트트래킹브런치 및 리모트래킹브런치를 삭제할 때 고려해야 할 기타 상세 내용에 대해 설명합니다.

리모트 브랜치를 삭제하도록 누르면 리모트 트래킹 브랜치도 삭제됩니다.

브런치를 삭제하는 해 주세요.X에서 " " " 를 사용하여" 를 합니다.git push 도 삭제합니다. origin/X를 ''로 프루닝 할 git fetch --prune ★★★★★★★★★★★★★★★★★」git fetch -p하지만 그래도 그렇게 하면 나쁠 건 없어요.

「」를 할 수 .origin/X또한 다음 실행으로 삭제되었습니다.

# View just remote-tracking branches
git branch --remotes
git branch -r

# View both strictly local as well as remote-tracking branches
git branch --all
git branch -a

오래된 로컬 리모트 트래킹브런치 오리진/X의 플루닝

브런치를 않은 X상기와되지 않게 된) 브랜치(「」)가 계속 .origin/X예를 들어 GitHub의 웹 인터페이스를 통해 리모트브런치를 직접 삭제했을 경우 발생할 수 있습니다.

오래된 1.6.6 를은 Git 1.6.6을 입니다.git fetch--prune 단축된 "" " " " " " " "-p리모트상에 존재하지 않게 리모트브런치의 오래된 로컬리모트 트래킹브런치가 모두 삭제됩니다.

git fetch origin --prune
git fetch origin -p # Shorter

다음은 1.6.6 릴리즈 노트(강조 광산)의 관련 인용입니다.

한 "fetherned" --all ★★★★★★★★★★★★★★★★★」--multiple 옵션, 여러 저장소에서 가져오기를 실행하는 옵션오래된 원격 추적 분기를 제거하는 옵션입니다.이로 인해 "git remote update" 및 "git remote prune"가 덜 필요하게 됩니다(단, "remote update" 또는 "remote prune"를 제거할 계획은 없습니다).

위의 자동 프루닝 대신 오래된 리모트 트래킹 브랜치 사용

오래된 를 사용하여 프루닝합니다.git fetch -p를 사용하여 브런치를 수동으로 삭제하는 것만으로 추가 네트워크 동작을 회피할 수 있습니다.--remotes ★★★★★★★★★★★★★★★★★」-r 삭제:

git branch --delete --remotes origin/X
git branch -dr origin/X # Shorter

참고 항목

브랜치를 삭제하는 순서:

리모트 브랜치를 삭제하는 경우:

git push origin --delete <your_branch>

로컬 브랜치를 삭제하려면 다음 세 가지 방법이 있습니다.

1: git branch -D <branch_name>

2: git branch --delete --force <branch_name>  # Same as -D

3: git branch --delete  <branch_name>         # Error on unmerge

설명: 여기서 무슨 일이 일어나고 있는지 설명해주세요!

하다git push origin --delete리모트 브랜치 삭제하려면 마지막에 브랜치 이름을 추가합니다.이것에 의해, 삭제와 동시에 리모트에 푸시 됩니다.

ㅇㅇㅇㅇ.git branch -D로컬 브랜치만 삭제합니다.

-D for 의 약자--delete --forceforce delete 브런치가 delete). 단, Marge(force delete)를 사용할 수도 .-d은 의 which 의 약자이다.--delete분기 병합 상태에 대한 오류를 발생시킵니다.

또, 이하의 이미지를 작성해, 순서를 나타냅니다.

git에서 원격 및 로컬 분기 삭제

다음 명령을 사용하여 원격 분기를 삭제할 수도 있습니다.

git push --delete origin serverfix

즉, 다음과 같은 기능을 합니다.

git push origin :serverfix

기억하기 더 쉬울지도 몰라요

매우 간단합니다.

원격 분기를 삭제하려면 다음과 같이 하십시오.

git push -d origin <branch-name>

또는

git push origin :<branch-name>

-- 이 구문을 가진 태그를 삭제할 수도 있습니다.

로컬 분기를 강제로 삭제하려면

git branch -D <branch-name>

주의: 다음 작업을 수행합니다.git fetch --all --prune리모트 브랜치를 삭제한 후 다른 머신에서 오래된 트래킹브런치를 삭제합니다.

국지적 가지를 제거하다

git branch -D my-local-branch

원격지를 제거하다

git push origin :my-remote-branch

git의 새로운 버전에서는 브랜치를 삭제할 수도 있습니다.

git push origin --delete <branch_name>

힌트: 사용 가능한 브랜치를 모두 표시하려면git branch -a ,

브랜치만을 하려면 , 「」를 합니다.git branch -r

힌트: 다음을 사용하여 브랜치를 삭제할 때

git branch -d <branchname> # Deletes local branch

또는

git push origin :<branchname> # Deletes remote branch

참조만 삭제됩니다.리모트상에서 브랜치가 실제로 삭제되어 있어도, 브랜치에 대한 참조는 팀원의 로컬저장소에 계속 존재합니다., 볼 수 있습니다.git branch -a.

이 문제를 해결하기 위해 팀 구성원은 삭제된 브랜치를 다음과 같이 제거할 수 있습니다.

git remote prune <repository>

은 보통 " " " 입니다.git remote prune origin.

지점을 삭제할 경우 삭제할 지점 이외의 지점에서 먼저 체크아웃합니다.

git checkout other_than_branch_to_be_deleted

로컬 브랜치 삭제:

git branch -D branch_to_be_deleted

리모트 브랜치 삭제:

git push origin --delete branch_to_be_deleted
git branch -D <name-of-branch>
git branch -D -r origin/<name-of-branch>
git push origin :<name-of-branch>

이것은 간단합니다.다음 명령어를 실행하기만 하면 됩니다.

로컬과 리모트 모두에서 Git 브랜치를 삭제하려면 먼저 다음 명령을 사용하여 로컬 브랜치를 삭제합니다.

git branch -d example

서 (기기))example는 브랜치명입니다).

그 후 다음 명령을 사용하여 리모트브런치를 삭제합니다.

git push origin :example

또 다른 접근법은 다음과 같습니다.

git push --prune origin

경고: 로컬에 존재하지 않는 모든 원격 분기가 삭제됩니다.좀 더 종합적으로 말하면

git push --mirror

에서는 리모트저장소가 사실상 저장소의 로컬복사본처럼 보이게 됩니다(로컬헤드, 리모트 및 태그는 리모트로 미러링 됩니다).

Bash 설정에서 다음을 사용합니다.

alias git-shoot="git push origin --delete"

그 후, 다음과 같이 전화할 수 있습니다.

git-shoot branchname

로컬 삭제:

로컬 분기를 삭제하려면 다음 명령을 사용합니다.

git branch -d <branch_name>

강제로 하려면 , 「」를 합니다.-D-d.

git branch -D <branch_name>

원격 삭제:

두 가지 옵션이 있습니다.

git push origin :branchname

git push origin --delete branchname

두 번째 방법은 직관적이기 때문에 사용하는 것이 좋습니다.

두하려면 명령어에 다음 수 .~/.gitconfig:

[alias]
    rmbranch = "!f(){ git branch -d ${1} && git push origin --delete ${1}; };f"

또는 다음 명령줄을 사용하여 글로벌Configuration에 추가할 수도 있습니다

git config --global alias.rmbranch \
'!f(){ git branch -d ${1} && git push origin --delete ${1}; };f'

메모: 사용하는 경우-d dsyslog d), Marge는 Marge를 사용합니다.는 삭제하다를 .-D D (D).

2013년 1월부터 GitHub은 "브랜치" 페이지에서 각 지점 옆에 버튼을 포함시켰습니다.

관련 블로그 투고: 브랜치 작성 및 삭제

로컬 및 원격으로 분기를 삭제하려면 다음과 같이 하십시오.

  • 체크아웃 - 마스터 브런치 -git checkout master

  • 삭제 - 삭제하기 - 원격지 삭제.git push origin --delete <branch-name>

  • 지사를 삭제합니다.git branch --delete <branch-name>

할 수 요.git remote prune origin

$ git remote prune origin
Pruning origin
URL: git@example.com/yourrepo.git
 * [pruned] origin/some-branchs

및 합니다.git branch -r일람표

다른 답변 외에 git_remote_branch 툴을 자주 사용합니다.추가 설치이지만 원격 지점과 쉽게 대화할 수 있습니다.이 경우 삭제하려면:

grb delete branch

도 '어느새'를 것 같아요.publish ★★★★★★★★★★★★★★★★★」track이치노

로컬과 리모트를 모두 삭제하는 원라이너 명령:

D=branch-name; git branch -D $D; git push origin :$D

또는 아래 에일리어스를 ~/.gitconfig에 추가합니다.사용방법:git kill branch-name

[alias]
    kill = "!f(){ git branch -D \"$1\";  git push origin --delete \"$1\"; };f"

브랜치 삭제

브랜치 「컨택 폼」에 관한 작업이 완료되어 이미 「마스터」에 통합되었다고 가정합니다.더 이상 필요하지 않기 때문에 (로컬로) 삭제할 수 있습니다.

$ git branch -d contact-form

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

git push origin --delete contact-form

원격 분기 삭제

git push origin :<branchname>

로컬 브랜치 삭제

git branch -D <branchname>

로컬 분기 단계 삭제:

  1. 다른 지점에 체크아웃하다
  2. 로컬 브랜치 삭제

로컬로 삭제하려면 - (일반)

git branch -d my_branch

중이고 않은 합니다.Rebase/Merge in progress이 경우 브랜치를 삭제할 수 없습니다.

따라서 리베이스/머지를 해결해야 합니다.그렇지 않으면 다음 명령을 사용하여 강제 삭제를 수행할 수 있습니다.

git branch -D my_branch

원격에서 삭제하려면:

git push --delete origin my_branch

다음을 사용하여 동일한 작업을 수행할 수 있습니다.

git push origin :my_branch   # Easy to remember both will do the same.

그래픽 표현:

여기에 이미지 설명을 입력하십시오.

간단히 말하면 다음과 같습니다.

git branch -d <branch-name>
git push origin :<branch-name>

이제 GitHub Desktop 어플리케이션으로 할 수 있습니다.

응용 프로그램 실행 후

  1. 분기가 포함된 프로젝트를 클릭합니다.
  2. 삭제할 분기로 전환합니다.

    스위칭 브랜치

  3. 분기 메뉴에서 "게시 취소..."를 선택하여 GitHub 서버에서 분기를 삭제합니다.

    분기 게시를 취소하다

  4. [브런치(Branch)]메뉴에서 [브런치 이름 삭제(Delete "branch_name...)]를 선택하여 로컬머신(현재 작업 중인 머신)에서 브런치를 삭제합니다.

    로컬 브랜치 삭제

git push origin --delete <branch Name>

기억하기 쉽다

git push origin :branchName

리모트상의 브랜치와 같은 이름의 태그가 있는 경우는, 이 조작은 동작하지 않습니다.

$ git push origin :branch-or-tag-name
error: dst refspec branch-or-tag-name matches more than one.
error: failed to push some refs to 'git@github.com:SomeName/some-repo.git'

이 경우 태그가 아닌 브랜치를 삭제할 것을 지정해야 합니다.

git push origin :refs/heads/branch-or-tag-name

마찬가지로 사용하는 브랜치 대신 태그를 삭제하려면 다음 절차를 따릅니다.

git push origin :refs/tags/branch-or-tag-name

다른 답변의 대부분은 오류/경고로 이어집니다.은 아직 한 경우도 , 입니다.git branch -D branch_to_deletesome_other_branch

git checkout some_other_branch
git push origin :branch_to_delete
git branch -d branch_to_delete

리모트 브랜치를 삭제했을 경우는, 리모트 플루닝은 필요 없습니다.추적 중인 저장소에서 사용 가능한 최신 리모컨을 가져오는 데만 사용됩니다.git fetch리모트는 추가되지만 삭제는 되지 않습니다. 이 경우 입니다.git remote prune origin실제로 무언가를 할 것입니다.

사용자 A는 위의 절차를 수행합니다.사용자 B는 다음 명령을 실행하여 최신 리모트브런치를 표시합니다.

git fetch
git remote prune origin
git branch -r

단말기를 사용한 최신 문서에 따르면 다음과 같은 방법으로 삭제할 수 있습니다.

로컬에서 삭제:

git branch -D usermanagement

원격 위치에서 삭제:

git push --delete origin usermanagement

이 답변에 대해 구글 검색을 하는 것이 지겨워서 criz Craig가 전에 올린 답변에도 비슷한 접근을 했다.

Bash 프로파일에 다음 항목을 추가했습니다.

function gitdelete(){
    git push origin --delete $1
    git branch -D $1
}

Then every time I'm done with a branch (merged into 브런치 작업이 끝날 때마다 (에 병합됨)master, 예를 들어 내 터미널에서 다음 실행 중입니다.예를 들어) 단말기에서 다음을 실행합니다.

gitdelete my-branch-name

...을 삭제합니다.그러면 삭제된다.my-branch-name부에서origin로컬로.지역뿐만 아니라.

용도:

git push origin :bugfix  # Deletes remote branch
git branch -d bugfix     # Must delete local branch manually

삭제가 필요한 경우 다음 명령을 실행합니다.

git branch -D bugfix

삭제된 리모트브런치를 정리하려면 실행

git remote prune origin

언급URL : https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-locally-and-remotely

반응형