Git 저장소를 특정 폴더에 어떻게 복제합니까? 저장소의 내용을 현재 디렉토리에 복제해야한다는 것입니다. /httpdocs/public 리포지토리를

명령을 실행하면 git clone git@github.com:whatever이라는 현재 폴더에 디렉토리가 생성 whatever되고 Git 저장소의 컨텐츠가 해당 폴더에 놓입니다.

/httpdocs/whatever/public

내 문제는 웹 서버의 올바른 위치에 표시되도록 Git 저장소의 내용을 현재 디렉토리에 복제해야한다는 것입니다.

/httpdocs/public

리포지토리를 복제 한 후 파일을 이동하는 방법을 알고 있지만 Git을 중단하는 것처럼 보이며을 호출하여 업데이트 할 수 있기를 바랍니다 git pull. 어떻게해야합니까?



답변

옵션 A :

git clone git@github.com:whatever folder-name

Ergo, right here사용 :

git clone git@github.com:whatever .

옵션 B :

.git폴더도 이동하십시오 . 있습니다 .git폴더가 너무 숨겨진 파일을 표시해야합니다, 대부분의 그래픽 파일 탐험가에 숨겨져 있습니다.

mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/

첫 번째 줄은 모든 일반 파일을 가져오고 두 번째 줄은 도트 파일을 가져옵니다. dotglob (즉 shopt -s dotglob) 를 활성화하여 한 줄로 수행하는 것이 가능 하지만이 답변이 대답하는 질문을하는 경우 나쁜 해결책 일 수 있습니다.

더 나은 아직 :

작업 사본을 다른 곳에 보관하고 기호 링크를 작성하십시오. 이처럼 :

ln -s /where/it/is/right/now /the/path/I/want/to/use

당신의 경우 이것은 다음과 같습니다.

ln -sfn /opt/projectA/prod/public /httpdocs/public

원하는 경우 테스트로 쉽게 변경할 수 있습니다.

ln -sfn /opt/projectA/test/public /httpdocs/public

파일을 옮기지 않고. 누군가이 -fn행을 복사하는 경우에 추가 됩니다 ( -f강제이므로 -n이미 존재하거나 존재하지 않는 링크와 원치 않는 상호 작용을 피하십시오).

작동하려면 옵션 A를 사용하고 다른 사람이 수행 한 작업을 보려는 경우 옵션 C를 사용하십시오.


답변

많은 사람들이이 질문을하고 있다고 생각하는 예는 다음과 같습니다. 당신이 경우 디렉토리 당신은 자식 저장소의 내용, 실행 덤프합니다 :

git clone git@github.com:whatever .

“.” 끝에는 현재 폴더를 체크 아웃 폴더로 지정합니다.


답변

폴더로 이동하십시오. 폴더가 비어 있으면 다음을 수행하십시오.

git clone git@github.com:whatever .

그밖에

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

답변

기본 Git 리포지토리 복제

당신은 저장소를 복제

git clone [url]

예를 들어, open_framework라는 Stanford University Drupal Open Framework Git 라이브러리를 복제하려면 다음과 같이하십시오.

$ git clone git://github.com/SU-SWS/open_framework.git

그러면 open_framework (현재 로컬 파일 시스템 위치에)라는 디렉토리가 생성되고 그 안에 .git 디렉토리가 초기화되고 해당 저장소의 모든 데이터가 풀다운되고 최신 버전의 작업 사본이 체크 아웃됩니다. 새로 만든 open_framework 디렉토리로 이동하면 작업 또는 사용 준비가 된 프로젝트 파일이 표시됩니다.

특정 로컬 폴더에 리포지토리 복제

open_framework 이외의 다른 디렉토리로 저장소를 복제하려는 경우 다음 명령 행 옵션으로 지정할 수 있습니다.

$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme

이 명령은 이전 명령과 동일하지만 대상 디렉토리를 mynewtheme이라고합니다.

Git에는 사용할 수있는 다양한 전송 프로토콜이 있습니다. 이전 예제는 git : // 프로토콜을 사용하지만 SSH 전송 프로토콜을 사용하는 http (s) : // 또는 user @ server : /path.git도 볼 수 있습니다.


답변

git 저장소를 특정 폴더에 복제하려면 다음 -C <path>과 같은 매개 변수 를 사용할 수 있습니다

git -C /httpdocs clone git@github.com:whatever

여전히 whatever폴더 위에 폴더를 만들지 만 리포지토리의 내용을 현재 디렉토리로 복제하려면 다음 구문을 사용하십시오.

cd /httpdocs
git clone git@github.com:whatever .

기존 디렉토리로의 복제 는 디렉토리가 비어있는 경우 에만 허용됩니다 .

공개적으로 액세스 할 수있는 폴더로 복제하고 있으므로 웹 서버 구성 (예 : 파일) 에서 폴더를 사용 --separate-git-dir=<git dir>하거나 제외 하여 작업 트리에서 Git 저장소를 분리하는 것이 좋습니다..git.htaccess


답변

작업 디렉토리제시하기 위해 복제하려면 :

git clone https://github.com/link.git

에 복제하는 또 다른 디렉토리 :

git clone https://github.com/link.git ./Folder1/Folder2

그것이 도움이되기를 바랍니다 🙂


답변

파일을 원하는 곳으로 옮길 때 .git디렉토리 도 옮기고 있습니까? OS 및 구성에 따라이 디렉토리가 숨겨져있을 수 있습니다.

/public디렉토리 에있는 프로젝트 파일 은 현재 체크 아웃 커밋 (기본적으로 마스터 브랜치)의 버전 일 뿐이며 저장소와 지원 파일이 포함되어 있습니다 .