2014-10-25 2 views
1

오랫동안 앱을 사용하지 않아서 다시 시작한 후 오류를 분류 할 수 없었습니다.원점 복귀 후 자식 병합 실행 취소

그래서 나는, 이전 지역의 지점을 체크 아웃을 고정하고 나는이 한 : 나는 시도 그리고

git checkout master 
git pull origin master 
git merge new_master 
git push origin master 

(나는 이전의 오류와 병합 거라고 실현되지 않음)

을 스택 오버플로에서 발견 된 몇 가지 사항은 이제 완전히 사라졌습니다.

어떻게이 문제로부터 되돌릴 수 있습니까?

나는 github에서 마스터를 가져 왔습니다.

답변

0

당신은 당신이 당신의 마스터를 재설정 할 수 있습니다

git branch tmp 

(당신이 원하는만큼되지 않습니다) 현재 master 지점을 표시 할 수 있습니다 이전 커밋 (GitHub의에 마스터의 역사를 보면,과를 선택 당신의 밀어 넣기 전에 SHA1)

git reset --hard old_SHA1 

그런 다음 로컬 TMP 분기 및 cherry-pick the commit(s) you want to apply to master의 역사를 볼 수 있습니다. 이 작업이 완료되면

, 당신은 원점으로 밀어 강제 할 수 있습니다 :

git push --force origin master 
0

시도가 그것을 되돌릴 수 :

을 자식의 해시를 찾아 병합

자식 체크 아웃 마스터 git pull origin master git merge new_master git push origin master

다음 git log ( Undoing Merges)와

: 당신이 자식이을 끌어 전에 다시오고 싶지 가정

$ git revert -m 1 hash_founded 

그러나, 당신은

$ git revert -m 2 hash_founded 

-m 가야 옵션 "은 본선의 상위 번호 (1부터 시작)를 지정하고 복귀하여 지정된 상위에 대한 변경을 되돌릴 수 있습니다." (git revert)

당신은 항상뿐만 아니라 재설정 할 수 있습니다 Revert to a previous Git commit