푸시는 새로운 원격 헤드를 만듭니다! (병합하는 것을 잊었습니까? 강제로 push -f 사용)
좋아, 나는 약간의 Google을 가지고 있었고 동일한 메시지를 우연히 발견했지만 사람들이 그것을 얻은 다른 방법을 발견했기 때문에 해결책을 찾을 수 없습니다. 나는 mecurial을 처음 사용하며 올바르게 수행하고 있는지 확인하고 싶습니다.
그래서 위와 같은 오류 메시지가 나타납니다. 개발 사이트와 라이브 사이트가 있고 코드를 코드베이스에 푸시하려고합니다.
그러나 어제 실수로 hg add
하고 싶지 않은 모든 미디어를 추가했습니다. 코드베이스에서 모든 미디어 파일을 제거한 후 변경 사항을 커밋하고 푸시하여 되돌 렸습니다. 그래서 오늘 저는 CSS 파일과 몇 가지 템플릿을 변경했습니다. 변경 사항을 커밋하고 푸시했지만 실행 hg push
하면 위의 오류가 발생합니다.
나는 hg 로그를 실행했으며 깨끗한 / 새 분기 / 프로젝트이므로 6 개의 커밋 만 있습니다. 도움을 주시면 감사하겠습니다. 올바르게 설명하지 않은 경우 사과드립니다!
이것은 "오류"메시지가 아닙니다. 그것은 완전히 정상적인 상황입니다. 그 메시지는 "당신이 작업을하는 동안 다른 사람들이 새로운 작업을 그 저장소로 밀어 넣었습니다. 당신의 작업을 당신의 작업에 통합 할 필요가 없도록 자신의 작업을 통합해야합니까?"라고 말합니다.
따라서 먼저 다음을 수행하십시오.
hg pull
그리고 a :
hg merge
덧붙여 revert
실제로 사용하는 경우에 당신이 한 hg revert
당신의 역사는 아마 꽤 큰 그래서, 명령 역사에서 해당 파일을 제거하지 않았다.
이러한 상황을 아주 잘 다루는 Mercurial 책 의 처음 몇 장을 읽는 것을 고려하십시오 .
충돌하는 변경 사항 을 취소 하려면
hg outgoing
푸시되지 않은 커밋 된 / 충돌하는 변경 사항이 포함 된 줄이 표시되어야합니다. 변경 세트 개정을 검색하십시오. 여기 64
searching for changes
changeset: 64:1830948c246e
그때
hg strip 64
이것은 나를 위해 일했습니다.
hg push -f
더 많은 명령을 보려면
hg help push
TortoiseHg에서는 다음을 수행 할 수 있습니다.
1 => 파일 커밋
2 => 코드를 푸시 할 새 브랜치를 실행하십시오.
3 =>이 브랜치에서 Merge with develop 실행
4 => 오류없이 코드를 푸시하세요!
Workbench를 사용하여 변경 사항을 푸시하는 경우 먼저 나가는 변경 사항 감지를 시도 할 수 있습니다. 첨부 된 이미지 참조
이것은 당신이 무엇을 추진할 것인지에 대한 정보를 제공 할 것입니다. 내 문제는 draft
밀려 나야 할 오래된 보류가 있다는 것입니다. strip
이전 초안을 작성 하면 푸시를 계속할 수있었습니다 .
수은으로 작업하는 가장 좋은 방법 git init
은 폴더를 만듭니다. 그런 다음 로컬에서 git로 작업하십시오. git 등으로 병합하십시오. 그런 다음 수은을 사용하여 다시 밀어 넣으십시오. 이것이 수은으로 작업하는 가장 간단한 방법입니다. 그렇지 않으면 수은은 단순히 작동하지 않습니다.
'programing tip' 카테고리의 다른 글
하위 디렉토리에 git 저장소 병합 (0) | 2020.11.02 |
---|---|
Git Bash와 Windows 용 GitHub 쉘의 차이점은 무엇입니까? (0) | 2020.11.02 |
배열을 트리밍 할 수없는 이유는 무엇입니까? (0) | 2020.11.02 |
TABLOCK 대 TABLOCKX (0) | 2020.11.02 |
setUseWideViewPort () 및 setLoadWithOverviewMode ()는 정확히 무엇을합니까? (0) | 2020.11.02 |