2013-05-10 3 views
1

내가 3 기계가 :나는 실수를 저질렀다. 나는 그것을 고칠 수 없다.

노트북, 내가 함께 일하고 있어요 두 가지가있다 데스크톱, 서버

: 다음과 재편성이. 재편성은 깨끗합니다. 그리고 나는 그것이 새로운 다음이되기를 바랍니다. 이벤트의

타임 라인 :

1. I finish the last changes to regroup on Desktop and push them to Server 
2. I pull from server to laptop 
3. On, laptop I checkout next (next happens to be 2 commits ahead of server/next) 
// I want to take all the regroup changes and completly overwrite the next changes. 
// I think this command will work (i'm not actually sure what it really did) 
4. Laptop: git merge -s recursive -X theirs regroup 
5. Laptop: git push 
6. Oh no, I forgot to test before push. Quick test. Things break. 
7. Laptop: git checkout regroup; git reset --hard HEAD. Test. Things still break. 
// Ok, I'll just switch to my desktop whichi still works, and get that perfect branch back. 
8. Desktop: Test, things still work. git checkout -b reset_final; git push origin reset_final 
10. Laptop: git pull; git checkout reset_final. Test. Things still break!? Why!? 

그래서, 지금 내 서버 및 노트북 나사 것으로 보인다. 내 바탕 화면에 여전히 regroup 및 regroup_final 아래에 원하는 지점이 있지만 서버의 설정으로 재설정하는 방법을 모르겠습니다.

내가하고 싶은 일은 내 데스크톱의 재 그룹화를 서버 옆에 두는 것입니다. 나는 내가 서버에했던 어리 석음을 완전히 날려 버리고 싶다. 혼란스럽고 도움을받을 수 있습니다.

답변

0
git merge -s recursive -X theirs regroup 

이것은 충돌이있을 때 "theirs"를 선택합니다. 그러나 "우리"의 충돌하지 않는 변화는 유지됩니다.

git reset --hard HEAD 

작업 디렉토리의 변경 사항을 취소합니다. 그러나 병합이 이미 커밋 되었기 때문에 아무 것도 실행 취소하지 않은 것 같습니다. 당신은 마지막으로 커밋 롤백 할 수 있습니다 : 당신의 마지막 지점에 대한

git reset --hard HEAD^ 

, 커밋되지 않은 변경 내용을 복사 할 것 reset_final을 복사하는 그런 식으로. 바탕 화면에 커밋되지 않은 변경 사항이 있습니까? 확인 :

git status 
+0

커밋되지 않은 변경 사항이 없습니다. reset -hard HEAD ^가 작동하지 않았습니다. 재조정 된 것들을 겹쳐 쓰는 다음으로 커밋 트리의 초기 부분에서 변경된 것처럼 보입니다. – Erotemic

관련 문제