Program Tip

Git을 사용할 때 Visual Studio에서 분기 (로컬 / 원격)를 어떻게 새로 고치나요?

programtip 2020. 11. 13. 23:56
반응형

Git을 사용할 때 Visual Studio에서 분기 (로컬 / 원격)를 어떻게 새로 고치나요?


요약

Visual Studio에서 Git을 사용하는 방법을 배우고 있습니다. 최근에 병합 후 기능 브랜치가 삭제 된 풀 요청을했습니다. 기능 분기는 여전히 Visual Studio의 로컬 및 원격 분기에 표시됩니다. 나는 브랜치를 마우스 오른쪽 버튼으로 클릭하고 삭제하는 방법을 알고 있습니다. 이것은 팀의 다른 사람들이 내가 알지 못하는 사이에 내가 가지고있는 브랜치에 대한 풀 리퀘스트를 완료 할 수 있기 때문에 해결 방법입니다. 그들이 나중에 지점을 삭제하면 나는 그들이 그렇게했는지 알 수 없습니다.

질문

Git에있는 항목으로 Visual Studio 분기를 어떻게 새로 고치나요?

내가 기대하는 것

클릭시 차이점을 확인하는 단추, 링크 또는 마우스 오른쪽 단추 기능이있을 것으로 예상됩니다. 차이점이 발견되면 "이 분기가 더 이상 존재하지 않습니다. Visual Studio에서 제거 하시겠습니까?"라고 묻습니다.

기술 사양

Visual Studio 2015 Enterprise를 사용하고 있습니다 (여전히 VS 2019의 증상 인 것 같습니다)

추가 예

이것은 또 다른 질문이 될 수 있지만 여기에 매우 적합합니다. 브랜치를 만들면 (예 : 한 VM에서 동일한 리포지토리를 다른 VM으로 확인) Visual Studio git fetch에 브랜치 목록을 업데이트 할 수있는 옵션 이 없습니다 . 상단의 새로 고침 버튼이 아무 작업도 수행하지 않는 것 같습니다. git fetchbash에서 실행하자마자 Visual Studio에 새 분기가 생깁니다. 새로 고침이이를 처리 할 것으로 기대합니다.


분기가 서버 측에서 삭제 된 경우 명령 줄에서 시도합니다 (이러한 "버튼"은 Visual Studio에 직접 존재하지 않는 것 같으므로).

git remote prune origin --dry-run

( --dry-run실제로 로컬 브랜치를 삭제 하는 옵션 제거 )

해당 로컬 분기도 삭제하십시오 git branch -d aBranch.

그때 Visual Studio를 다시 시작하십시오., 업데이트 된 분기 목록을 선택하는지 확인합니다. (댓글은 VS를 다시 시작하거나 새로 고칠 필요가 없다고 언급합니다)

참고 : 2013 년 이전에 구성

git config remote.origin.prune true

즉 그 과정을 자동화하고있는 것 같다 것이다 비주얼 스튜디오에서 지원 으로, 아래에 언급 의해 Yaniv에게 .


이 블로그 게시물에 따르면 다음을 통해 git 속성을 설정할 수 있습니다.

git config remote.origin.prune true

가져 오기를 수행 할 때 목록에서 삭제 된 분기를 제거합니다.


에서 : https://intovsts.net/2017/01/17/refresh-git-remote-branches-in-visual-studio/

다음 명령으로 실행중인 가져 오기 / 끌어 오기에서 자동으로이 작업을 수행하도록 git을 구성 할 수 있습니다.

git config remote.origin.prune true –global

최신 정보:

Visual Studio 2017 버전 15.7.3 이상은 UI를 사용하여 수행 할 수 있습니다.

  1. 팀 탐색기에서 홈을 클릭 한 다음 설정 : 여기에 이미지 설명 입력

  2. 글로벌 설정 선택

  3. "인출 중 원격 분기 정리"를 "True"로 변경하십시오.

VS 2017은 팀 탐색기에서 구성 가능한 지원이있는 것으로 보입니다.

팀 탐색기 홈 설정 Git> 전역 설정 가져 오기 중 원격 분기 정리 : 설정되지 않음, True 또는 False


먼저 브랜치를 게시 취소 해야합니다 . 그러면 다른 사람들은 브랜치가 게시되지 않았 음을 알 수 있습니다 (브랜치를 가져 오려고하면 오류가 발생 함). 로컬 브랜치를 삭제하는 것은 실제로 별도의 프로세스 자체이며 제거하기 위해 수행해야합니다. 어쨌든 지점.


UI에서 할 수 없었습니다. 터미널로 이동하여 다음을 입력해야했습니다. git remote update(UI에서 git 체크 아웃을 사용할 수 있도록 분기 목록을 업데이트하려면)

내 폴더가 이미 열려 있고 이미 원격을 통해 추가했습니다. UI.

당신은 또한 사용할 수 --prune에 따라 말에 오래된 참조를 삭제합니다. origin그러나 사용하면 다음과 같은 오류가 발생했습니다 fatal: No such remote or remote group: origin.

참고 URL : https://stackoverflow.com/questions/33739400/how-do-i-refresh-branches-local-remote-in-visual-studio-when-using-git

반응형