2013-03-05 3 views
1

answer에서 제안한 단계에 따라 로컬 컴퓨터에 저장소를 설정하고 dropbox 폴더의 베어 리포지토리로 밀어 넣은 다음 다른 로컬 위치로 복제합니다. 즉, ~/project-image 디렉토리에 git clone ~/Dropbox/git/project.git .이 호출됩니다. 이것은 적어도 나 혼자만 잘 작동하는 것처럼 보입니다.Dropbox에 저장된 git 저장소 공유하기

그러나 나는 https을 사용하여 복제 할 수 없습니다. dropbox에서 나는 ~/Dropbox/git/project.gitURL를 얻은 후 다른 디렉토리 ~/project/image2~

git clone https://www.dropbox.com/sh/xxxxxxx/xxxxxxx . 

같은 것을 시도했다. 이것은 나는 다음과 같은 오류가 발생했습니다 ... 작동하지 않았다 :

warning: remote HEAD refers to nonexistent ref, unable to checkout. 

을 나는 dropbox에서 베어 저장소를 공유 할 수 있습니다 것 같다 언급 한 질문에 대해 답. 방법? 서브 디렉토리의 URL이 각 서브 디렉토리에 대해 변경되어 git이 복제 할 수없는 것 같습니다. 이것이 이유입니까? 이것을 극복 할 수있는 방법이 있습니까? 내가 dropbox의 공용 부분에 저장소를 설치하고 싶지 않으며 필요한 경우 링크를 공유하려고합니다.


편집 - dropbox에 저장소를 확인를 내가 달릴 @Idx 제안에 따라 경찰, ~/Dropbox/git에서 다음 ref: refs/heads/master을 반환 cat project.git/HEAD.

+0

먼저 git 메타 데이터가 괜찮은지 확인하십시오. 'cat .git/HEAD'는 뭐래? 머리를 참조해야합니다 (예 : '.git/refs/heads/master'. – ldx

+0

@Idx : 내 편집 참조. 나는 당신이 쓴 것과 비슷한 것을 얻지 만 정확하게는 아닙니다. – Dror

+0

아, http를 사용하지 않으려는 것을 알 수 있습니다. git이 작동하려면 서버 측 백엔드가 필요합니다. – ldx

답변

1

git의 스마트 HTTP 프로토콜 (Dropbox의 경우)을 지원하지 않는 http 서버에서 복제하거나 가져올 수있게하려면 ref를 업데이트 할 때마다 git update-server-info을 실행해야합니다 (지점 또는 태그)가 그 방식으로 제공되는 저장소에 있어야합니다.

리포지토리에 대한 업데이트 방법에 따라 자동으로이 작업을 수행 할 수있는 하나 이상의 후크를 설정할 수 있습니다.

+0

서버 측 WebDAV 지원이 필요하지 않습니까? – ldx

+0

@ldx 아니, 그냥 일반 HTTP. 실제로, 그것은 그것보다 훨씬 일반적인 것입니다; 명령이 실행 된 저장소는 FTP 또는 rsync를 사용하여 액세스 할 수도 있습니다. – qqx