2015-01-26 1 views
7

저는 218이라는 내 마스터 브랜치의 지사를 가지고 있습니다.브랜치가 2 커밋 뒤입니다.

이 브랜치를 사용하는 사람은이 사람이 유일합니다.

3 주 전에 변경 요청을했으나 변경해야 할 필요가있을 때 거부되었습니다.

이제 이러한 변경 작업을 수행하고 지점에 대한 최신 변경 사항을 적용하려고했습니다.

커밋을 시도하고 병합해야한다고했습니다. 그래서 내가 했어. 그리고 그것은 나의 모든 파일을 엉망으로 만들었고 지난 3 주 동안 내가 한 나의 변화를 없앴다.

나는하여이를 취소 한 : git reset --hard HEAD~1

그리고 지금은 내 컴퓨터에 내 REPO에 서 모든 파일은 어떻게해야합니다. 나는 자식의 상태를 할 때, 내 변화는 보여 해달라고과는 말한다 :

Your branch is behind 'origin/feature/218' by 2 commits, and can be fast forwarded. nothing to commit, working directory clean. 

내가 약자로 내 로컬 컴퓨터에 내 REPO에 현재 가지고있는 지점을 아무것도 풀다운하지만 모든 것을 덮어 쓰지 할 내가 가지고있는 것.

어떻게하면됩니까?

+0

'git reset --hard origin/feature/218'을 다시 시도하십시오. –

+0

주석 처리되지 않은 로컬 파일이있어서이 오류가 발생했습니다. –

답변

8

브랜치에서 유일하게 작업하고 있으므로 git push --force을 수행하여 원격 분기의 상태를 덮어 쓸 수 있습니다.

브랜치에있는 유일한 사람이 맞습니까? 지사에서 일하는 유일한 사람이라면 커밋이 리모컨에 있었을 것이기 때문에 git pull을 수행 할 필요가 없었을 것입니다.

공유 분기가있는 git push --force을 수행하면 팀에 많은 문제가 발생할 수 있습니다.

git checkout origin/feature/218 
git log -3 

이에 마지막 세 개의 커밋 (당신이 뒤에있는 2 공유 마지막)를 보여줍니다 : 그래서 당신은 다음을 수행하여 원격 지점에있는이 커밋을 제거 할 것인지 확인 리모컨은 자신의 것이고 마지막 2 개는 덮어 쓰기를 원한다는 것을 확인하십시오.

2
git pull --rebase 

이렇게하면 문제가 해결 될 것입니다.

관련 문제