2013-02-26 5 views
-3

나는 매우 안돼서 실수로 병합을 취소하고 지점을 만들려면이 같은 혼란 않았다힘내 - 어떻게 힘내 대신

Git history - merge

어떻게 지금은 표시이 혼란을 해결할 수 있습니까? 방금 새 분기를 만들고 거기에 파일을 추가하고 싶었지만 뭔가 병합했습니다.

답변

1

해야 할 명령은 git merge [branchname]입니다.

당신이해야 할 명령은 git checkout -b [new_branchname] && git add [files...] && git commit입니다.

병합을 취소하려면 git reset HEAD^ (단 한 번)을 사용하십시오. --hard을 사용해야 할 수도 있습니다.

그것이 의미하는 바가 아니라면 질문을 명확히하십시오.

+0

'git reset HEAD ^'는 내 병합 된 자료를 삭제합니까? – hugerth

+0

'git reset --hard HEAD ^'는 병합 커밋 이후에 변경된 내용을 지울 것입니다. 'git reset HEAD ^'는 HEAD의 ref를'447e541'로 옮기고'56f8601'의 변경은 unstaged change로 나타납니다. 두 경우 모두'447e541'과'56f8601'은 그대로 남아 있지만'fe17e70'은 사라질 것입니다 (그러나 여전히'git fsck'로 복구 할 수 있습니다). – forivall

+0

그 변화를 만들었지 만 지금은 어떻게 업데이트할지 모르겠습니다. 원격 저장소. git push는 작동하지 않지만 git pull은 뭔가를하지만 내 bitbucket에서는 모든 것이 변하지 않습니다. – hugerth