git branch -d는 경고를 줍니다.
로컬 분기를 삭제한 후 경고 메시지를 더 잘 이해하고 싶습니다.
경고: 분기 삭제
'old_branch'
에 병합된'refs/remotes/origin/old_branch'
그러나 아직 에 합병되지 않은HEAD
.
이는 변경사항이 지점에 푸시되었음을 경고하는 것입니다.origin
그러나 현재 체크아웃된 분기에 병합되지 않으므로 로컬에서만 삭제합니다.
해당 분기의 로컬 복사본이 더 이상 없지만 다음에 있음을 경고하는 메시지가 표시됩니다.origin
원격 분기도 삭제하려면 다음을 사용합니다.git push --delete origin old_branch
당신이 현재 가지고 있다고 가정할 때master
체크아웃되었습니다. 변경 사항을 의미합니다.old_branch
에 없는master
그러나, 그들은 존재합니다.old_branch
에origin
.
이것은 당신의 지역 지점을 의미합니다.old_branch
원격 지점에서 최신 상태임old_branch
원격으로origin
그러나 분기에 병합되지 않습니다.master
레포의 주요 지점으로 간주되는.
그것은 단지 기트로부터의 예방책일 뿐입니다.이것은 힌트를 줍니다: 아마도 당신은 주제 분기에서 당신의 일을 했고 그것을 주요 분기로 병합하는 것을 잊었나요?
갱신하다
Git는 변경사항이 손실되지 않도록 경고합니다.예를 들어 당신이 당신의 것을 가지고 있지 않은 경우.old_branch
마스터 깃에서 마스터에 병합되지 않은 분기를 삭제하는 것조차 허용하지 않습니다(글쎄요, 허용하지만 키를 사용합니다).-D
어느 것이force-delete
옵션)을 선택합니다.
다른 답변에 추가하자면, 마스터의 로컬 복사본이 아직 반영되지 않은 경우 변경사항이 마스터에 병합될 수도 있습니다.어느 쪽이든 마스터의 로컬 복사본에 원본에서 푸시한 변경사항이 없음을 알려줍니다.병합됨/병합되지 않음...일 수 있음, 아닐 수 있음
여기에 있는 몇 가지 답은 완전히 맞았지만, 질문을 완전히 해결하지는 못한 것 같습니다.그래서 다른 시도를 해보겠습니다.
OP 질문 바꿔치기
Pull Request를 수행하고 PR을 완료하여 GitHub/Bitbucket 등에서 분기를 자동으로 제거한 후, 분기를 로컬로 삭제할 때 다음 오류가 표시됩니다.
warning: deleting branch 'old_branch' that has been merged to 'refs/remotes/origin/old_branch', but not yet merged to HEAD.
타임라인 이해
GitHub 또는 원격 저장소는 컴퓨터의 로컬 상태를 전혀 알지 못합니다.
꺼내기 요청이 완료되고 원래 PR 분기를 제거하도록 요청하면 로컬 분기를 알 수 없습니다.
이 때 로컬 분기를 삭제합니다.해당 지역의 담당자/컴퓨터는 다음 일정을 알고 있습니다.
myfeature
==>origin/myfeature
(myfeature
).- 그리고나서
myfeature
되었습니다. - 그렇게
origin/myfeature
존재합니다.
, 물론사아이닙다니면실하, 냐왜은것이▁the면▁of,하왜▁because냐,다.origin/myfeature
PR이 완료되었을 때 브랜치가 파괴되었지만 로컬 컴퓨터는 이를 알지 못합니다.그래서 Git는 경고를 합니다.
GitHub/BitBucket 등이 필요하지 않습니다.쉽게 만들 수 있을까요?
왜냐하면.
PR 완료 ==> 원격 분기 제거
패러다임이 너무 흔하기 때문에 원격 지사가 어떻게든 로컬 지사에 이 현상을 알려주면 좋을 것 같습니다.그러나 Git는 정보를 요청할 뿐 요청하지 않은 정보는 절대 보내지 않는 "일방향 커뮤니케이션"으로 매우 잘 수행했습니다.한 영역에서의 "양방향" 커뮤니케이션은 다른 영역에서도 사람들이 원할 수 있습니다. 곧 우리는 성공하기에는 너무 취약했던 SVN 또는 다른 "중앙 저장소" 패러다임과 같은 모습으로 Git로 돌아갑니다.나보다 더 많이 아는 사람은 아마도 이 "양방향 소통"이 야기할 모든 문제를 더 자세히 설명할 수 있을 것입니다.
즉, 이 분기에 대한 변경 내용이 원격(주/마스터)에서는 병합되지만 로컬(주/마스터)에서는 병합되지 않습니다.
이러한 경고를 방지하려면 주/마스터 체크아웃 후 당김을 수행해야 합니다.
언급URL : https://stackoverflow.com/questions/12147360/git-branch-d-gives-warning
'programing' 카테고리의 다른 글
Android에서 읽기 전용 파일 시스템 (0) | 2023.08.24 |
---|---|
jQuery: $().click(fn) 대 $().bind('click',fn); (0) | 2023.08.24 |
mariadb JDBC 드라이버를 사용하여 로그인하면 SQLNonTransientConnection이 생성됩니다.예외. (0) | 2023.08.19 |
두 개의 나란히 있는 div 요소를 동일한 높이로 유지하려면 어떻게 해야 합니까? (0) | 2023.08.19 |
도메인 없이 사용자 이름을 가져오는 방법 (0) | 2023.08.19 |