2012-08-30 1 views
1

우리 팀의 누군가가 우연히 GIT에 커밋을 밀어 넣었다. 아무도 풀어 내지 못한다. (많은 변화가 있었고 기본적으로 우리가 가지고있는 모든 것을 깨뜨린 것이기 때문에).Git Repository에 우발적 인 푸시가 포함되어 있으며 저장소에있는 항목이 아닌 로컬 작업 사본을 유지하는 방법이 있습니까?

그는 다른 버전으로 되돌리려 고했지만 오류가있었습니다.

기본적으로 그는 하루 종일 자신의 로컬 복사본을 작업하고 있습니다. 어느 누구도 저장소를 밀거나 당겨서는 안됩니다.

우리가하고 싶은 것은 어떻게 든 로컬 변경 사항을 유지하면서 푸시 한 것을 제거합니다.

어떻게하면 되나요?

감사합니다.

답변

0

로컬 git repo를 미리 푸시 (pre-push) 상태로 재설정하고이를 원격 원본으로 푸시하거나, git 서버에 액세스 할 수 있으면 직접 되돌릴 수 있습니다.

지역 기계 :

1. git log 
    get the commit id for the last usable commit 
2. git reset --hard <commit id> 
    replace <commit id> with the id you retrieved in step 1 
3. git push -f origin <branch name> 

자식 서버에서 : 나쁜 일단

1. git log 
    get the commit id for the last usable commit 
2. git reset --hard <commit id> 
    replace <commit id> with the id you retrieved in step 1 

는 정상처럼 새로운 변화를 밀어 사라 커밋.

이것은 일반적인 문제입니다. 이 유형의 문제에 대한 수정이 게시되었습니다 before. 묻기 전에 반드시 검색하십시오. 시간을 절약 할 수 있습니다!

0

git push --force은 원격 저장소에 새로운 커밋이 있더라도 로컬 분기를 강제로 적용합니다.

관련 문제