[visual-studio] Visual Studio Code-VS Code에 여전히 표시되는 GitHub에서 삭제 된 분기를 제거 하시겠습니까?

VSCode에서 풀 요청을 수행하고 GitHub에서 분기를 삭제 한 후에도 해당 분기가 Visual Studio Code에 계속 표시됩니다. 분기를 선택하면 예상대로 오류가 발생합니다.

VSCode에서 이제 삭제 된 분기를 어떻게 제거합니까? 자동으로 수행 할 수 있습니까?



답변

분명히이 기능은 의도적 인 것입니다. Github에서 삭제 된 모든 원격 분기를 제거하는 올바른 방법은 다음 명령을 실행하는 것임을 알았습니다.

git fetch --prune

그런 다음 Visual Studio를 다시 시작하여 명령 팔레트에서 분기를 제거하십시오.


답변

Command Pallete (Ctrl-Shift-P)를 열고 Git : Delete Branch … 를 선택하여 Visual Studio Code에서 로컬 브랜치를 제거 할 수 있습니다. 그런 다음 목록에서 적절한 브랜치를 선택하여 로컬 브랜치를 삭제할 수 있습니다.


답변

GitHub에서 제거 된 브랜치는 잘 … GitHub에서 제거되었습니다. 컴퓨터에는 여전히 분기의 로컬 사본이 있습니다. 로컬 브랜치를 삭제하려면 git branch -d the_local_branch. VS Code에는 명령이 없지만 명령을 사용하여 VSCode에서 터미널을 시작하고 View: Toggle Integrated Terminal명령을 실행할 수 있습니다.

지점 관리에 대한 자세한 내용은 git 설명서 ( https://git-scm.com/book/be/v2/Git-Branching-Branch-Management)를 참조하십시오.


답변

명령 팔레트를 열고 (Ctrl + Shift + P) Git : Fetch (Prune)를 선택 합니다.

기능 은 2018 년 11 월 20 일에 VS Code에 병합 되었습니다.


답변

나는 명령 팔레트에서 Git Fetch (Prune)를 사용했기 때문에 병합 된 로컬 브랜치를 어떻게 삭제할 수 있습니까?라는 질문을 해석했습니다 . 이것은 “해킹”으로 간주 될 수 있지만 제가 사용하는 것입니다. PowerShell 터미널에서 :

$branches = (git branch --merged).replace(" ", "").replace("*", "") | ? { $_ -ne "develop" -and $_ -ne "master" }
foreach ($branch in $branches) { git branch $branch -d }

PoSH에 익숙하지 않은 경우 다음 작업을 수행합니다. 첫 번째 줄은 모든 병합 된 분기의 이름을 가져오고 (개발 및 마스터 제외) 두 번째 줄은 해당 목록을 반복하고 “git branch -d “. 브랜치가 완전히 병합되면 다음이 표시됩니다.

Deleted branch <branch name> (was <commit ID>).

각 지점에 대해. 때때로 나는 삭제에 실패한 브랜치를 만나게 될 것입니다. 이런 일이 발생하고 삭제해도 안전하다고 확신하는 경우 (즉, 저장되지 않은 로컬 작업을 잃지 않을 것입니다) 다음을 실행할 수 있습니다.

git branch <branch name> -D

대문자 D- 로컬 브랜치 를 강제로 삭제합니다.


답변

다음 명령을 실행하기 만하면됩니다.

git remote prune origin

추가로 할 수있는 일이 있습니다. 그 이유를 위해 터미널을 여는 것이 때때로 짜증나 기 때문입니다. vscode에 작업을 추가 할 수 있습니다.

그렇게하려면 다음 단계를 따르십시오.

  1. VSCode 보기> 명령 팔레트 (cmd / ctrl + Shift + P)
  2. 작업 구성 유형
  3. 템플릿에서 tasks.json 파일 만들기를 선택 하면 .vscode 폴더 아래에 새 파일이 생성됩니다 .
  4. 작업 배열 내부에 다음을 추가하십시오.

{ “label”: “Git Prune”, “type”: “shell”, “command”: “git remote prune origin”, “problemMatcher”: []}

사용 방법:

  1. 명령 팔레트 열기
  2. 작업 실행을 입력 하고 선택하십시오.
  3. Git Prune 선택

참고:

  1. 힘내 자두


답변

다음을 사용하여 모든 로컬 분기 (마스터 제외)를 제거 할 수 있습니다.

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

그리고 origin/XXXXVSCode에서 origin와 같이 표시 되지만 이미 삭제 된 모든 분기를 제거 할 수 있습니다 .

git fetch --prune

노트 :

위의 첫 번째 명령 ( https://stackoverflow.com/a/52006270/3120163 에서 가져옴 ) :

  • 모든 지점을 나열
  • 목록에서 마스터 분기 제거
  • 목록에서 분기 삭제