2012-06-18 3 views
2

짧은 이야기를하기 위해 지난 몇 개월 동안 웹 앱을 사용해 왔습니다. 최근에 나는 내 응용 프로그램에 대한 변경 사항을 적용하고 응용 프로그램의 루트 디렉토리에 git push -u을 사용하려고하지만 할 때마다 ... 새로운 노트북을 얻을 수 있었다 나의 새로운 기계에 GitHub의에서 저장소를 복제 나는 다음과 같은 메시지가 얻을 :Github 실패한 푸시

To [email protected]:acc/etc.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '[email protected]:acc/etc.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

하지만 내가 시도 할 때 git pull [email protected]:acc/etc.git master 풀을 당했다는 메시지가 나타납니다.

From github.com:acc/etc * branch master -> FETCH_HEAD error: Your local changes to the following files would be overwritten by merge: config/routes.rb test/fixtures/users.yml Please, commit your changes or stash them before you can merge. Aborting

는 그럼 난 내 변화가 git commit -m 'fixing'을 사용하고 다시 git pull을 시도 커밋합니다.

그러나 내가 가진이 시간이 메시지는 거의 모든 내 파일이

내가 완전히이 특정 저장소와 나사 오전에 "자동 병합 충돌을"있다고 주장? git는 여전히 나에게 새로운 것이기 때문에 무엇을해야할지 모르겠다. ...

답변

2

변경 사항이 크지 않은 경우 폴더/프로젝트 전체를 프로젝트 외부의 다른 디렉토리에 복사 한 다음 git reset --hard HEAD은 최근 변경 사항을 지우고 삭제하고 삭제합니다.
그런 다음 참조 용 save3d 복사본을 사용하여 개별적으로 다시 적용 할 수 있습니다.
물론 전에 git commit 전에 확인하십시오.
마지막으로 자동 커밋 병합 문제가 발생하면 파일을 수동으로 편집하여 해결할 수 있습니다.

3

나는이 저장소와 완전히 망 했는가?

아니요.하지만 Git에서 알아낼 수 없으므로 수동 병합을 수행해야합니다. git status은 어떤 파일을 편집해야하는지 알려줍니다. 파일 자체에는 을 나타내는 표식이 포함되어 있으며 여기에서을 편집해야합니다. 완료되면 git push이 다시 작동해야합니다.