programing

경고:여러 병합 기준이 탐지되었습니다.표시된 커밋 목록이 불완전할 수 있습니다.

fastcode 2023. 8. 8. 23:55
반응형

경고:여러 병합 기준이 탐지되었습니다.표시된 커밋 목록이 불완전할 수 있습니다.

Azure Repos에서 A 지점에서 B 지점으로 PR을 만들었습니다.병합 충돌이 표시되지 않습니다.하지만 결국 경고 메시지가 나옵니다.

경고:여러 병합 기준이 탐지되었습니다.표시된 커밋 목록이 불완전할 수 있습니다.

Screenshot of error

이것은 무엇을 의미합니까?

오늘도 같은 메시지를 받았습니다.방금 대상 지점에서 최신 변경 사항을 가져와서 소스 지점에 병합했더니 문제가 해결되었습니다.

대상 분기의 최신 변경 사항을 원본 분기로 가져가서 병합을 완료하면 됩니다.그런 다음 이 메시지는 꺼내기 요청 페이지에 나타나지 않습니다.

제 생각에는 Azure DevOps가 이러한 경고를 하는 것은 좋은 일입니다. 따라서 풀 요청을 완료하기 전에 대상 지점에서 최신 정보를 가져오는 것을 잊어버린 경우 시간을 절약하거나 러시 & 서프라이즈를 끝낼 수 있습니다.

저는 오늘 여러 팀 동료들에게 이런 일이 있었습니다.이는 그들이 메인(원격) 지점을 먼저 로컬(로컬) 지점으로 병합하기 전에 PR을 메인(원격) 지점으로 병합하려고 했기 때문입니다.그들의 지역 지점은 몇 번이나 뒤쳐져 있었습니다.

병합, 커밋 및 푸시가 완료되면 메시지가 사라집니다.

이 경고를 심각하게 받아들이세요.이것은 또한 발생합니다.

  • 원본 분기에 최신 대상 분기가 없고 꺼내기 요청을 생성한 경우.

  • 또는 현재 분기의 원본이 아닌 분기를 병합했습니다.

    Enter image description here

첫 번째 이유:분기를 로컬로 이동하고 대상 분기의 원점을 분기에 병합한 후 커밋한 후 푸시합니다.지금 PR을 확인하십시오.그것은 지금 해결되어야 합니다.그렇지 않으면 두 번째 이유를 확인해야 합니다.

두 번째 이유:현재 분기의 원점이 아닌 분기를 현재 분기로 푸시한 경우.

  • 이 경우 가장 좋은 해결책은 분기의 원점이 아닌 분기를 식별하고 커밋을 되돌려서 푸시하는 것입니다.
  • 그렇지 않은 경우, 대상의 원점에서 새 분기를 만들고 관련된 모든 커밋을 선택한 후 푸시를 커밋합니다.이 새 분기에서 새 PR을 만듭니다.

실행 가능성에 따라 옵션을 선택합니다.

내 말이 맞다면, Azure DevOps에도 병합 충돌을 탐지하는 기능이 있기 때문에 이 경고는 쓸모가 없습니다.충돌 여부에 관계없이 이 경고를 받습니다.

Enter image description here

병합 충돌이 감지되면 다음과 같은 충돌이 발생합니다.

Enter image description here

따라서 병합을 처리하는 적절한 방법은 모두를 혼란스럽게 하는 경고가 아니라 자동 빌드 파이프라인을 사용하는 것입니다.

메시지에 따라 둘 이상의 분기가 관련된 경우 병합이 "빠른 전달"로 설정된 경우 이 문제가 발생할 수 있습니다.

다른 충돌이 없는 경우("..." 메뉴에서) 병합 다시 시작을 선택한 다음 빠르게 전달되지 않는 병합 옵션을 선택하여 병합을 완료하도록 허용할 수 있습니다.

이것은 Azure에서 풀 요청을 확인하고 병합을 게을리하지 않았는지 확인하는 방법입니다. 일반적으로 소스 분기 또는 트리의 이전 분기에 포기된 풀 요청이 있을 때 발생합니다.

다른 분기에서 병합하려는 분기로 업데이트를 가져올 때 메시지가 표시됩니다(: 마스터에서 개발 분기를 업데이트한 다음 마스터로 PR을 다시 병합).

또한 업데이트를 푸시하기 전에 변경 사항을 풀다운하는 것을 잊어버린 경우에도 이 문제를 발견했습니다.

저와 제 동료는 Azure DevOps를 사용하면서 같은 문제를 겪었습니다.그의 나뭇가지는 뒤에 있었고, 우리가 해야 할 일은 다음과 같았습니다.

git pull origin master

그의 지역 지점에서.이것으로 해결했습니다.

최신 'main'을 'features/x' 분기에 병합해야 했습니다.'features/x' 분기가 보호되어 꺼내기 요청이 필요했습니다.PR은 빠른 순방향 병합으로 완료되어야 했습니다.스쿼시 병합을 시도하는 중이었는데 'features/x' 분기가 전체 커밋 기록을 가져오지 않았습니다.스쿼시 병합의 방향성은 매우 주의해야 할 사항인 것으로 밝혀졌습니다.

언급URL : https://stackoverflow.com/questions/69211632/warning-multiple-merge-bases-detected-the-list-of-commits-displayed-might-be-i

반응형