Mercurial에서 커밋을 어떻게 삭제합니까?
Mercurial 커밋을 저장소에 입력하지 않은 것처럼 완전히 삭제하고 이전 커밋으로 돌아가고 싶습니다.
이것이 가능한가?
마지막 커밋이고 아무데도 푸시하지 않았다면 rollback
. 그렇지 않으면 아닙니다. 별로. 비밀번호를 변경할 시간입니다.
편집 : 이전 버전에서 복제하고 유지하려는 변경 사항을 병합 할 수 있다는 지적이 있습니다. 제어 할 수없는 리포지토리에 푸시하지 않은 경우에도 마찬가지입니다. 일단 푸시하면 데이터를 되찾기가 매우 어려울 수 있습니다.
커밋에 대한 mq 정보를 제거 할 수 있습니다.
- 이를 위해서는 File-> Settings-> Extensions로 이동해야합니다.
- mq를 확인하고 GUI를 다시 시작하십시오.
- 그 후 불필요한 커밋과 ModifyHistory-> Strip을 마우스 오른쪽 버튼으로 클릭하십시오.
히스토리를 편집하려면 Histedit Extension 확장을 사용합니다 .
hg histedit 45:c3a3a271d11c
그러나 이것은 아직 커밋을 공용 저장소에 푸시하지 않았거나 공용 저장소를 소유하거나 모든 복제본을 설명 할 수있는 상황에서만 의미가 있음을 명심하십시오. 다음과 같은 오류가 발생하는 경우 :
abort: can't rebase immutable changeset 43ab8134e7af
이는 Mecurial이 이것이 이미 푸시 된 공개 변경 집합 ( 단계 참조 ) 이라고 생각한다는 것을 의미 합니다. draft
다시 수행 하도록 강제 할 수 있습니다 .
hg phase -f -d 45:c3a3a271d11c
나는 이것을 꽤 자주 접한다. 커밋을 한 다음 당겨서 밀어냅니다. 그러나 새로 만든 커밋을 불필요하게 만드는 무언가가 들어옵니다. 평야 hg rollback
는 당김을 취소하기 때문에 충분하지 않습니다 ...
이것은 할 일입니다 :
hg strip <rev>
변경 세트를 어디에도 푸시하지 않으면 일이 고통스럽지 않습니다.
"hg backout"을 사용하여 기본적으로 역 병합을 수행 할 수 있습니다. 모든 옵션은 무료로 사용할 수있는 책 "Mercurial : The Definitive Guide"에서 설명합니다.
http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html
두 개 이상의 커밋이거나 이미 다른 곳에 푸시 한 경우 리포지토리를 복제하고 복제해야하는 마지막 변경 집합을 지정할 수 있습니다.
이 작업을 수행하는 방법은 여기에서 내 대답을 참조하십시오.
Mercurial : 지루한 기록 수정
로컬로만 커밋하고 푸시하지 않은 경우 로컬로 클론을 생성하면됩니다 (내 링크에 설명 됨).
이미 일부 원격 저장소로 푸시 한 경우 해당 저장소를 복제본으로 바꿔야합니다.
물론 이것은 당신이 이것을 할 수 있는지 (또는 허용되는지) 달려 있습니다.
거북이를 사용하는 경우 히스토리 수정> 스트립 ...을 사용할 수 있습니다.
예. 내가 착각하지 않는 한 v2.3 (rel. 2012/08/01)부터 HisteditExtension 을drop
명령 과 함께 사용하여 커밋 을 삭제 strip
하거나 backout
변경 사항을 제거 할 수 있습니다.
기능에 대한 간단한 Google 검색 : https://www.google.com/webhp#q=histedit+drop
참조 URL : https://stackoverflow.com/questions/5084915/how-do-you-delete-a-commit-in-mercurial
'IT TIP' 카테고리의 다른 글
Spring JdbcTemplate에서 기본 SQL을보고 있습니까? (0) | 2021.01.07 |
---|---|
JavaScript에서 가우시안 / 뱅커 반올림 (0) | 2021.01.07 |
Joda LocalDate를 java.util.Date로 변환하는 방법? (0) | 2021.01.07 |
총 잠금 수가 잠금 테이블 크기를 초과합니다. (0) | 2021.01.07 |
django rest_framework에 인증 헤더가 없습니다. 아파치가 비난받을까요? (0) | 2021.01.06 |