2014-12-23 44 views
3

git rebase --interactive을 실행하는 동안 자동으로 커밋을 잃어 버렸음을 알았 기 때문에 테스트를 위해 간단한 레포에서이 문제를 재현했습니다."git rebase --interactive"는 순서 변경을 시도하는 동안 자동으로 커밋을 중단합니다.

나는 4 개의 커밋을 가지고 있으며 그 중 2 개의 커밋을 다시 정리하고 싶습니다. 여기에 내 커밋이있다 :

55d4ca6 1 <-- origin/master 
d70d325 2 
b613c5b 3 
2bd1177 4 <-- master 

각 커밋은 다른 것들과 독립적이다; 모두 서로 다른 파일을 조작합니다. 커밋 2와 3을 전환하려면 커밋을 다시 정리하고 싶습니다. git rebase --interactive origin/master을 사용하여이 작업을 수행 할 것입니다. 나는이 커밋 3 스왑에 갈거야

pick d70d325 2 
pick b613c5b 3 
pick 2bd1177 4 

, 그래서 나는과 같이 정력에 순서를 바꿀 : 그 명령을 실행하면 예상대로 순서에 정력 창에 나에게 내 커밋을 제공

pick b613c5b 3 
pick d70d325 2 
pick 2bd1177 4 
이 연습에서
55d4ca6 1 
bf330a8 3 
5c6f9af 2 
7cb8db1 4 

그러나 내 커밋 중 하나가 단순히 사라졌다

, 내 REPO가 남아 :

나는 두 커밋과 같이, 교환 할 수 기대

55d4ca6 1 
7de7fb0 3 
10fc3a7 4 

rebase --interactive을 잘못 사용하고 있습니까? 또는 이것이 Git의 버그입니까?

나는 최신 Window Git 버전 (1.9.5.msysgit.0)을 사용 중입니다. 나는 지난 몇 개월 동안 여러 Git 버전에서 주기적으로 이것을 발견했습니다.

편집 1 : vim 및 gitk 이미지를 텍스트로 바꿨습니다. 내가 본 내용을 정확히보고 싶다면 원래의 질문 개정을 확인하십시오.

+0

rebase 명령의 출력은 무엇입니까? 'git reflog'의 결과는 무엇입니까? – michas

+3

'vim' 세션에서 색 구성표를 읽으려고하면 눈이 아파요 ... – twalberg

+2

농담이 아닙니다. @ twalberg. 원문의 경우 여기에 복사하여 붙여 넣기 만하고 적절하게 형식을 지정하십시오. 어떤 사람들은 이미 시각적 인 문제가 있으며 사진을 읽을 수없는 경우가 아니면 1k 단어의 가치가 있습니다. 사진은 가치가 없을 수도 있습니다. – vgoff

답변

5

바로 가기 때문에 실제로 실행중인 명령은 git rebase --interactive --preserve-merges origin/master입니다. 이 명령을 함께 사용하고 커밋을 재주문하려고 시도하면 git rebase documentation의 BUGS 섹션에 나열됩니다.

버그 섹션에는 위에서 설명한 것과 정확히 같은 문제가 있으며, 상황을 설명하는 데 도움이 될 것입니다.

답변 : rebase --interactive --preserve-merges을 사용하여 재정렬하려는 동안 커밋을 중단합니다. 두 개를 함께 사용하지 마십시오.