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)를 참조하십시오.
답변
답변
나는 명령 팔레트에서 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에 작업을 추가 할 수 있습니다.
그렇게하려면 다음 단계를 따르십시오.
- VSCode 보기> 명령 팔레트 (cmd / ctrl + Shift + P)
- 작업 구성 유형
- 템플릿에서 tasks.json 파일 만들기를 선택 하면 .vscode 폴더 아래에 새 파일이 생성됩니다 .
- 작업 배열 내부에 다음을 추가하십시오.
{ “label”: “Git Prune”, “type”: “shell”, “command”: “git remote prune origin”, “problemMatcher”: []}
사용 방법:
- 명령 팔레트 열기
- 작업 실행을 입력 하고 선택하십시오.
- Git Prune 선택
참고:
답변
다음을 사용하여 모든 로컬 분기 (마스터 제외)를 제거 할 수 있습니다.
git branch -r | grep -v "master" | xargs git branch -D
그리고 origin/XXXX
VSCode에서 origin
와 같이 표시 되지만 이미 삭제 된 모든 분기를 제거 할 수 있습니다 .
git fetch --prune
노트 :
위의 첫 번째 명령 ( https://stackoverflow.com/a/52006270/3120163 에서 가져옴 ) :
- 모든 지점을 나열
- 목록에서 마스터 분기 제거
- 목록에서 분기 삭제