2012-12-31 2 views
7

내 로컬 저장소에서 지점 드라이브로 지점을 푸시 할 때 오류를 해결하는 데 도움이 필요합니다. 문제는 다른 드라이브간에 앞뒤로 전환하여 발생했다고 생각합니다. 특히, 나는 하나를 잃어 버렸고 대체품을 사용하기 시작했습니다. 그런 다음 원본을 찾았을 때 다시 원래대로 돌아갔습니다. 이제 내 심상/머리 중 일부가 엉망이 된 것 같습니다. 나는 지점을 밀어하려고 할 때 예를 들어, 나는 다음과 같은 출력을 얻을 :"잠금 실패"오류

$ git push origin android-lite 
Counting objects: 111, done. 
Compressing objects: 100% (98/98), done. 
Writing objects: 100% (109/109), 29.63 KiB, done. 
Total 109 (delta 40), reused 0 (delta 0) 
error: unable to resolve reference refs/heads/android-lite: No such file or directory 
remote: error: failed to lock refs/heads/android-lite 
To /media/2AC0-E4E2/devel/src/java/bbct/ 
! [remote rejected] android-lite -> android-lite (failed to lock) 
error: failed to push some refs to '/media/2AC0-E4E2/devel/src/java/bbct/' 
$ 

을 만약 내가 제대로 이해하고,이 심판/헤드/안드로이드 라이트 원점에 존재하지 않는 것을 말한다. 그러나, 왜 자식이 새 분기를 만들지 않는지 혼란 스럽습니다. 내 로컬 저장소에 android-lite 브랜치가 이미 존재 함을 나타내는 무언가가 있습니까? (git gcthis question에서와 같이, git prune, git fsck, ...)

+4

'git gc'와'git remote prune'으로 repo를 정리할 수 있습니다. – madhead

답변

2

원격 REPO를 디버깅하는 것은 너무 복잡 경우), 당신은 여전히 ​​할 수 있습니다

  • git bundle 현재의 repo, 그건 당신 만 줄 것이다 하나 개의 파일,
  • 복사 그
  • 자식 클론
  • 가 새 경로로 현재 원격 주소를 설정하는 번들 파일에서 원격 드라이브에 하나 개의 파일

이것은 "How to synchronize two git repositories"과 약간 비슷하며이 작업에 번들을 사용하면 파일 오류 복사본이 없는지 확인하는 것입니다.

+0

제안 해 주셔서 감사합니다. 내 질문에 하나의 세부 사항을 강조하려면 : 리모콘은 내 컴퓨터에 연결된 엄지 드라이브에 있습니다. 나는 리모트 Repo에 직접'cd'하고 거기에서 그것을 조작 할 수있다. 따라서 리모콘을 직접 조작하는 간단한 해결책이 있다면, 나는 그것을 위해 모든 것입니다. –

+0

@ Code-Guru 디버깅을 시도 할 수있는 명령에 대해 설명하는 질문에 대한 링크가 있습니다. 제안에 관해서는 깨끗한 repo를 초기화하기 위해 번들을 사용합니다. 또는 상기 썸 드라이브에서 로컬 저장소를 직접 복제 할 수도 있습니다. – VonC