2014-11-03 11 views
0

Windows 시스템에있는 Apache http 서버에 여러 git 저장소를 게시했습니다. 그리고 파일은 같은 컴퓨터에 저장됩니다. 이제이 자식 저장소를 gitweb이있는 Apache HTTP 서버가있는 다른 컴퓨터로 옮기고 싶습니다. 일반적으로이 저장소를 다른 로컬 시스템에 복제하려면 git clone http://[email protected]/git/repository_name을 사용합니다.어떻게 Windows에서 Ubuntu 서버로 git 저장소를 옮길 수 있습니까?

하지만이 자식 저장소를 하나의 자식 루트 디렉토리에 직접 복사하면 git cloneinfo/refs에 대한 하나의 오류를보고합니다.

이 작업을 수행하는 효율적인 방법이 있습니까? 고맙습니다.

업데이트 : 윈도우 7 컴퓨터에서

, 나는 F:/gitroot 디렉토리에이 저장소를 저장합니다. 그리고 httpd.conf에서 관련 구성은 다음과 같다 :

SetEnv GIT_PROJECT_ROOT F:/gitroot 
    SetEnv GIT_HTTP_EXPORT_ALL 
    ScriptAlias /git/ "D:/Program Files/Git/libexec/git-core/git-http-backend.exe/" 

    <Directory "D:/Program Files/Git/libexec/git-core/"> 
    Allow From All 
    </Directory> 

    <Directory "F:/gitroot"> 
    Options All 
    AllowOverride None 
    Order Deny,Allow 
    Deny From All 
    Allow From 192.168.0.0/24 
    Allow From 127.0.0.1 
    Allow From All 
    </Directory> 

    <Location /git > 
    AuthType Basic 
    AuthName "Git repository" 
    AuthUserFile F:/gitroot/htpasswd 
    Require valid-user 
    </Location> 

그리고 명확성을 위해

, 내가 test 디렉토리, git init --bare로 이동 한 후, F:/gitroot에서 test라는 새 디렉토리를 만들어, 우리는 새로운 자식 저장소를 초기화 할 수 . 그런 다음 다른 컴퓨터에서 git clone http://[email protected]_ipaddress/git/test을 사용하여이 저장소를 복제하여 개발할 수 있습니다. 또한 git push/pull origin master을 사용하여 git 저장소를 업데이트하거나 수정하는 작업을 수행 할 수 있습니다.

이제이 저장소를 운영 체제가 Ubuntu 12.04 인 다른 컴퓨터로 옮기고 Windows 시스템과 마찬가지로 http 액세스를 위해 gitweb을 사용하여 Apache 서버를 설치 및 구성하려고합니다. 방금 F:/gitroot에있는 파일을 우분투 컴퓨터 /media/backup_data/gitroot에 복사합니다. 이 자식 저장소의 구조는 변경되지 않았습니다. 내가 git clone http://[email protected]_ipaddress/git/test를 사용하는 경우

오류는 다음과 같습니다 마지막으로, 나는 대답을

Cloning into 'test'... 
    fatal: http://192.168.0.2/git/test/info/refs not found: did you run git update-server-info on the server? 

을 발견 : 우리가 복사 된 디렉토리의 권한을 변경해야합니다.

sudo chown -R www-data:www-data test 

그러면 git clone이 성공적으로 실행됩니다.

+0

당신은 보통'git clone '을 사용하고 있지만 이번에는 파일 시스템 사본을 만들었습니까? Git의 전체 오류 메시지를 포함하십시오. –

+0

@ MagnusBäck, 답장을 보내 주셔서 감사합니다! 나는 원인을 발견하고 게시물을 업데이트했습니다. 친절하게 그것을 확인하십시오! – mining

답변

0

이 질문에 대한 답변은 원래 게시물의 UPDATE 섹션에 있습니다.