명령을 실행하면 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
디렉토리 에있는 프로젝트 파일 은 현재 체크 아웃 커밋 (기본적으로 마스터 브랜치)의 버전 일 뿐이며 저장소와 지원 파일이 포함되어 있습니다 .