2010-01-19 2 views
16

그래서 나는 한 지점에서 가져온 저장소와 서버가있는 저장소를 가지고 있습니다. 필자가 가져온 원래 저장소에 대한 액세스 권한이 없습니다. 기존 서버에서 다른 컴퓨터로 코드를 가져 오는 방법은 무엇입니까?한 컴퓨터에서 다른 컴퓨터로 저장소를 열어

편집 1 :

  • 컴퓨터 A : : 나는 원래부터 체크 아웃 자식 저장소 그래서 여기처럼 보이는거야. 나는 더 이상 이것에 접근 할 수 없다.
  • COMPUTER B : 코드를 체크 아웃 한 공유 서버.
  • COMPUTER C : A 로컬 랩톱.

git를 사용하지 않고 해당 디렉토리의 간단한 복사본을 만들 수 있습니까? 아니면 B부터 C로 복제하려면 git을 사용할 수 있습니까?

+0

와우 - 그냥보고 이 질문에 - 들썩 들썩 한! –

답변

5

.

3

당신은 당신이 복제가 저장된 위치에 액세스 할 수있는 가정, 서버에서이를 복제 할 수 있습니다 - 유통의 힘을)

+0

복제본이 저장된 위치에 대한 액세스 권한이 있는지 확실하지 않습니다. 내가 원래 코드 세트를 어떻게 가져 왔는지 확실하지 않습니다. –

+0

매트는 컴퓨터 B ("기존 서버")에서 컴퓨터 C ("다른 컴퓨터")로 복제하는 것을 의미한다고 생각합니다. 컴퓨터 A는 더 이상 액세스 할 수없는 컴퓨터입니다. 설명서의 git clone 항목 : http://www.kernel.org/pub/software/scm/git/docs/git-clone.html –

+0

다음에는 컴퓨터에 복제본이 있습니까? 당신은 똑같은 것으로부터 복제 할 수 있습니다; 리포지토리에는 마지막으로 가져온 이후의 모든 변경 사항을 모듈화하여 동일한 정보가 모두 들어 있습니다. –

0

당신은 다른 컴퓨터에 당신 싶어 복제가 의미?

방법에 대해 : 당신은 네트워크 위치에서 잡아 당기거나 다른 컴퓨터에 전체의 전체 디렉토리 (포함 .git 폴더)에 복사 할 수 있습니다

git clone ssh://myserver/path/to/myproject.git 
-2

만약 내가 올바른 질문을 이해한다면, 당신은 단지 B에서 C로 코드의 이력을 전송하고 싶습니다. 실제로 git는 중심 중심의 모델을 사용하기 때문에 B는 B와 A 사이의 마지막 동기화 지점까지 코드의 완전한 히스토리를가집니다.

  • 직접 복사/rsync에/등 :. 당신은 그냥 C에 B의 코드 내역을 전송하려는 경우

    나는 세 가지 방법을 생각할 수 있습니다. 단지 C를 \에 \ B-기계 \의 code.git에있는 모든 파일과 구조를 복사

  • 자식 클론 : C는 http 또는 ssh를 통해 B에 액세스 할 수 있는지 이것은 최선의 선택을
  • 자식 번들 : 자식이 번들 명령을 지원하고, 이후 번들, 당신은 당신이 컴퓨터 C에서 실행할 수있는 C
2

에/rsync를/FTP/SCP 번들 파일을 복사 :

git clone [email protected]_B:path/to/root/of/repository 

해당 컴퓨터의 B를 SSH를 서버를 실행 한 가정. 그렇지 않으면 다른 프로토콜이 지원됩니다 (file : //, http : //, \\ computer_B (NetBios) ...)

31

이 작업은 컴퓨터 B에있는 저장소의 복제본을 복제 된 저장소를 만들려는 COMPUTER C의 git clone 명령. git에서의 복제는 ssh, https, git를 포함한 여러 프로토콜을 사용하여 수행 할 수 있습니다. 이 경우에는 git clone 명령을 올바르게 수행해야합니다.그런 다음 .git 폴더에 마커 파일을 배치

위의 명령에 대한 도움말
> git daemon 

,

git help daemon을 실행

가장 쉬운 방법은이 명령을 사용하여 컴퓨터 B의 자식 서버를 시작하는 것입니다 COMPUTER B의 저장소에 대한 권한을 부여하여 해당 저장소에서 clone 명령을 실행하도록 git 서버에 권한을 부여합니다. 이는하여 수행됩니다 : 컴퓨터 C에 터미널에서,

> cd <repository root>/.git 
> touch git-daemon-export-ok 

이제 다음 명령을 실행 : 컴퓨터 C.에 복제 된 저장소를 생성합니다

> cd <folder in which to create the cloned repository> 
> git clone git://<ip address of COMPUTER B>/<full path of the repository on COMPUTER B> 

이를

+0

오류 : 접근 거부 또는 저장소를 내보낼 수 없습니다. –

+0

내가 '연결이 거부되었습니다'어떻게 내가 자식 repos에서 자식 설정 pemission 수 있습니까? –

관련 문제