BRANCH_A에서 작업 중입니다. 이 분기의 마지막 50 개 커밋을 새 분기 BRANCH_B로 이동하고 BRANCH_A를 이전 커밋으로 되돌리고 싶습니다. 같은 것을 달성하는 가장 좋은 방법은 무엇입니까? 좋은 방법입니까? -hg 분기의 이름을 바꾸고 선택적으로 이식을 변경하십시오.
0
A
답변
0
그냥 BRANCH_A는 "HEAD 50 개 커밋"의 상태에 있어야한다고 가정하면 그 커밋은 역사에 나타나는 경우에 당신이 상관 없어, 여기에 간단한 해결책이다 가지고 들어
모든 당신이 BRANCH_A의 HEAD로 전환하고있는 새로운 변경 집합을 커밋 할 수
$ hg branch BRANCH_B
BRANCH_A에 이전 상태를 복원 : BRANCH_A의 HEAD에있는 동안 당신은 단순히이 분기를 만들 수있는 새로운 지점 BRANCH_B에 커밋 원하지 않는 모든 작업을 취소하십시오.이 작업은 hg backout을 통해 수행됩니다 :
$ hg update BRANCH_A
$ hg log -r 'branch(BRANCH_A) and head()~50 and not merge()'
$ hg backout -r 'branch(BRANCH_A) and head()~50 and not merge()'
$ hg commit -m"removed from .. to .."
비슷한 영역에서 변경이있는 경우 충돌이 발생할 수 있습니다.
히스토리를 다시 쓰려면 rebase를 사용하거나 확장명을 바꾸거나 커밋을 제거하기 위해 확장자를 변환 할 수 있습니다. 로컬에서만 작업하거나 사용되는 서버로 푸시해야하는 경우 다른 사람들도 마찬가지입니다 (이 경우 기록을 다시 쓰는 것은 권장되지 않습니다). 간단하게 편집 역사없이
+0
로 번역 BTW, 당신이 명령 세트가 잘못 (3/5)에 대한 영업 이익의 "이 전에 커밋 이전으로 복귀" 태스크 –
0
: BRANCH_A의 끝
- 닫습니다.
- BRANCH_A의 닫힌 팁에서 BRANCH_B라는 이름을 만듭니다.
- 50 커밋 이전의 노드에서 시작하여 BRANCH_A에 대한 새 커밋을 체크인하십시오.
는 **가 필요 ** 적절한 (적절하고 의미) 표현 –