programing

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

telecom 2023. 7. 4. 21:41
반응형

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

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

현재 삭제된 분기를 VSCode에서 제거하려면 어떻게 해야 합니까? 자동으로 제거할 수 있습니까?

이 기능은 의도적인 것으로 보입니다.Github에서 삭제된 모든 원격 브랜치를 제거하는 올바른 방법은 다음 명령을 실행하는 것임을 알게 되었습니다.

git fetch --prune

그런 다음 비주얼 스튜디오를 다시 시작하여 명령 팔레트에서 분기를 제거합니다.

Command Pallet(Ctrl-Shift-P)을 연 다음 Git: Delete Branch...를 선택하여 Visual Studio Code에서 로컬 분기를 제거할 수 있습니다. 그런 다음 목록에서 적절한 분기를 선택하여 로컬 분기를 삭제할 수 있습니다.

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

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

GitHub에서 제거된 분기는 정상입니다...GitHub에서 방금 제거되었습니다.컴퓨터에 분기의 로컬 복사본이 남아 있습니다.로컬 분기 실행을 삭제하려면 다음과 같이 하십시오.git branch -d the_local_branch Code를 사용하여 할 수 있습니다. VS Code에서는 VS Code를 사용하여 터미널을 참조하십시오.View: Toggle Integrated Terminal명령 및 실행 명령을 사용합니다.

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

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

git remote prune origin

당신이 할 수 있는 추가적인 것, 왜냐하면 그것을 위해 터미널을 여는 것은 때때로 귀찮기 때문입니다.vcode에서 작업을 추가할 수 있습니다.

이를 위해 다음 단계를 수행하십시오.

  1. VSode View에서 > 명령 팔레트(cmd/ctrl + Shift + P)
  2. 작업 구성 유형
  3. 템플릿에서 tasks.json 파일 생성을 선택하면 .vscode 폴더 아래에 새 파일이 생성됩니다.
  4. 내부 태스크 배열에 다음을 추가합니다.

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

사용 방법:

  1. 명령 팔레트 열기
  2. 작업 실행을 입력하고 선택합니다.
  3. 깃 자르기 선택

참조:

  1. 깃프룬

없어요git fetch --pruneVSCode를 다시 시작합니다.
VSCode 1.52(2020년 11월)를 통해 다음과 같은 이점을 얻을 수 있습니다.

Git: 가져오기 시 자르기

사용 git.pruneOnFetch됩니다.git fetch --prune원격 참조를 가져올 때.

GitHub에서 삭제된 추가 분기는 로컬에서 더 이상 없습니다.

PR 89249, 문제 86813 수정 참조:

용도:

{
   "git.pruneOnFetch": true
}

은 설은정입니다.false결석으로

이는 다음을 추가할 것입니다.--prune모든 깃 페치에 대한 플래그입니다.

저는 명령 팔레트에서 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 - 로컬 분기를 강제로 삭제합니다.

Visual Studio 2019(예: 16.8.6)의 최신 버전에서는 아래와 같이 설정으로 이동하여 Git 설정을 찾아야 합니다.

이걸 고칠 방법을 찾았어요따라서 Github repo에 연결된 원격을 제거한 다음 원격을 다시 추가해야 합니다.

Github에서 삭제된 모든 분기는 더 이상 vcode에 표시되지 않습니다.라고 가정하면,origin원격 repo의 이름입니다.

git remote remove origin

그리고나서

git remote add origin git@github.com:your-username/repo-name.git

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

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

그리고 다음과 같이 표시되는 모든 분기를 제거할 수 있습니다.origin/XXXX되었지만 VSCode에서 이미 되었습니다.origin매개 변수:

git fetch --prune

참고:

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

  • 모든 분기를 나열합니다.
  • 목록에서 마스터 분기 제거
  • 목록에서 분기 삭제

더 짧은 명령은 다음과 같습니다.

git fetch -p

다비드후에 의한 이 방법은 약간의 터치로 아래와 같습니다.

이 명령은 여전히 V 코드에 표시되는 Github에서 삭제된 분기를 제거합니다.중괄호 안에 있는 것이 원격 repo의 이름이라고 가정합니다.

git 원격 제거 오리진

그리고나서

git remote add origin git@github.com :your-message/repo-name.git

또는 V 코드에서 수동으로 제거할 수 있습니다.

  1. V 코드 왼쪽에 있는 소스 제어 아이콘을 클릭합니다.

  2. 추가 아이콘 또는 추가 작업을 클릭한 다음 "Romote"를 클릭하면 "원격 추가" 또는 "Romote 제거"가 표시됩니다.

  3. "Remove romote"를 클릭하면 V 코드에 있는 모든 원격 목록이 표시됩니다. 그런 다음 제거할 목록을 선택하고 "Enter"를 누를 수 있습니다.

이 접근 방식은 vscode에서 제기된 문제를 해결하는 방법에 직접적으로 답하지 않습니다.그러나 동일한 결과를 얻을 수 있는 유효한 방법입니다.

이 빠진 가지를 사용합니다.

이것이 누군가에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/38512124/visual-studio-code-remove-branches-deleted-on-github-that-still-show-in-vs-cod

반응형