나는 커밋을했는데 CM
을 작성한 다음 여러 패치를 적용했습니다 (P1
및 P2
). C1
및 C2
는 이전의 두 커밋이있는 곳 하나의 커밋을 모든 커밋의 맨 위로 옮깁니다.
C1-C2-CM-P1-P2
처럼 그래서 내 역사는 보인다.
문제는 커밋을 위해 패치를 만드는 것을 잊었다는 것입니다. 내 커밋 CM
을 커밋 맨 위로 이동하는 방법? 기록은 다음과 같아야합니다.
C1-C2-P1-P2-CM
나는 커밋을했는데 CM
을 작성한 다음 여러 패치를 적용했습니다 (P1
및 P2
). C1
및 C2
는 이전의 두 커밋이있는 곳 하나의 커밋을 모든 커밋의 맨 위로 옮깁니다.
C1-C2-CM-P1-P2
처럼 그래서 내 역사는 보인다.
문제는 커밋을 위해 패치를 만드는 것을 잊었다는 것입니다. 내 커밋 CM
을 커밋 맨 위로 이동하는 방법? 기록은 다음과 같아야합니다.
C1-C2-P1-P2-CM
아직 지사를 밀어하지 않은 경우, 당신은 대화 형 REBASE 수행 할 수 있습니다
git rebase -i C2
그런 다음 P1-P2-CM
로 커밋 순서를 변경할 수 있습니다, 그리고 C2
의 상단에이를 다시 적용합니다.
rebase -i
을 사용할 수 있습니다.
$ git rebase -i HEAD~5
최신 5 가지 커밋으로 텍스트 편집기가 열립니다. 원하는 순서대로 커밋의 순서를 변경 한 다음 저장하고 닫습니다.
git rebase -i C1
을 실행 한 다음 편집기에서 팝업되고 커밋의 순서를 바꾸고 저장하고 종료하십시오. 충돌이나 사물이 없다면 재주문 할 것입니다.
왜 C1입니까? C2 (내 답변에서 언급했듯이) 여기 충분해야합니다. – VonC
해야합니다. 나는 내가 처음 볼 수있는 커밋을 골랐다. –
HEAD ~ 3 또는 C2 (내 답변에서 언급했듯이) 충분해야합니다. – VonC