문제

명령 실행 git clone git@github.com:whatever 내 현재 폴더에서 extomder라는 디렉토리를 작성하고 git 저장소의 내용을 해당 폴더로 삭제합니다.

/httpdocs/whatever/public

내 문제는 웹 서버의 적절한 위치에 표시되도록 현재 디렉토리로 복제 된 git 저장소의 내용이 필요하다는 것입니다.

/httpdocs/public

저장소를 복제 한 후 파일을 이동하는 방법을 알고 있지만 이것은 git을 깨뜨리는 것처럼 보이며 전화를 통해 업데이트 할 수 있습니다. git pull. 어떻게 할 수 있습니까?

도움이 되었습니까?

해결책

옵션 A :

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

Ergo, for 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 저장소의 내용을 덤프하고 원하는 디렉토리를 실행합니다.

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]

예를 들어, Stanford University Drupal Open Framework Git Library라는 Open_Framework를 복제하려면 다음과 같이 할 수 있습니다.

$ 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 예배 규칙서? OS 및 구성에 따라이 디렉토리가 숨겨져있을 수 있습니다.

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

클론 :

git clone git@jittre.unfuddle.com:jittre/name.git

"특정 지점"을 복제하십시오.

git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git

Git 저장소를 특정 폴더로 복제하려면 사용할 수 있습니다. -C <path> 매개 변수, 예를 들어

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

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

git git@github.com:whatever .

기존 디렉토리로 복제하는 것은 다음과 같습니다 디렉토리가있을 때 허용됩니다 비어 있는.

공개적으로 액세스 할 수있는 폴더로 복제하므로 사용하여 작업 트리에서 git 저장소를 분리하는 것을 고려하십시오. --separate-git-dir=<git dir> 또는 제외 .git 웹 서버 구성의 폴더 (예 : IN .htaccess 파일).

현재 폴더로 복제하려면 다음을 시도해야합니다.

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

복제합니다 현재 작업 디렉토리:

git 클론 https://github.com/link.git

복제합니다 다른 디렉토리:

git 클론 https://github.com/link.git ./folder1/folder2

도움이되기를 바랍니다 :)

현재 디렉토리에 문제를 확인하려는 경우 .git 저장소를 제거하십시오.

rm -rf .git 그 다음에 git clone https://github.com/symfony/symfony-sandbox.git

용법

git clone <repository>

위치에있는 저장소를 복제하십시오u003Crepository> 로컬 기계에. 원래 저장소는 로컬 파일 시스템 또는 HTTP 또는 SSH를 통해 액세스 할 수있는 원격 시스템에 위치 할 수 있습니다.

git clone <repo> <directory>

위치에있는 저장소를 복제하십시오u003Crepository> 호출 된 폴더로u003Cdirectory> 로컬 기계에서.

원천: 저장소 설정

내가 어떻게 할 것인가는데, 나는 그것을 위해 그것을하기 위해 별명을 만들었습니다.

$ cd ~Downloads/git; git clone https:git.foo/poo.git

더 우아한 방법이있을 것입니다. 그러나 나는 이것이 나 자신에게 가장 쉽다는 것을 알았습니다.

여기에 속도를 높이기 위해 만든 별칭이 있습니다. 나는 ZSH를 위해 만들었지 만 Bash 또는 Fish, Xyzsh, Fizsh 등과 같은 다른 껍질에 적합해야합니다.

편집하다 ~/.zshrc, /.bashrc, 좋아하는 편집자와 함께 (광산은 Leafpad이므로 글을 쓸 것입니다. $ leafpad ~/.zshrc).

그러나 개인적으로 선호하는 것은 모든 별칭을 추적하기 위해 ZSH 플러그인을 만드는 것입니다. 이 명령을 실행하여 OH-My-Zsh 용 개인 플러그인을 만들 수 있습니다.

$ cd ~/.oh-my-zsh/
$ cd plugins/
$ mkdir your-aliases-folder-name; cd your-aliases-folder-name
     # In my case '~/.oh-my-zsh/plugins/ev-aliases/ev-aliases'
$ leafpad your-zsh-aliases.plugin.zsh
     # Again, in my case 'ev-aliases.plugin.zsh'

그 후,이 라인을 새로 만든 빈 알리즈에 추가하십시오 .plugin 파일 :

# Git aliases
alias gc="cd ~/Downloads/git; git clone "

(여기에서 이름을 내 이름으로 바꾸십시오.)

그런 다음 별명이 작동하기 위해서는 (ZSH와 함께) 공급해야합니다. 그렇게하려면 사용자 정의 플러그인 문서 내부에 다음을 추가하십시오.

## Ev's Aliases

#### Remember to re-source zsh after making any changes with these commands:

#### These commands should also work, assuming ev-aliases have already been sourced before:

allsource="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh; clear"
sourceall="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh"
#### 

####################################

# git aliases

alias gc="cd ~/Downloads/git; git clone "
# alias gc="git clone "
# alias gc="cd /your/git/folder/or/whatever; git clone "

####################################

OH-MY-ZSH 플러그인을 저장하고 실행하십시오 allsource. 그것이 작동하지 않는 경우, 단순히 실행하십시오. source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh. 플러그인 소스를로드하여 사용할 수 있습니다. allsource 지금부터.


나는 모든 별칭과 함께 git 저장소를 만드는 과정에 있습니다. 자유롭게 확인하십시오. EV의 도트 파일. 당신의 필요에 맞게 그들을 자유롭게 포크하고 개선하십시오.

어떤 이유로 부터이 구문은 다음과 같습니다.

git clone repo-url [folder]

여기서 폴더는 로컬 폴더 (로컬 리포지토리)의 선택적 경로입니다.

git clone 또한 pull 원격 저장소에서 로컬 저장소로의 코드. 실제로 그것은 사실입니다.

git clone repo-url  =  git init + git remote add origin repo-url + git pull

사용중인 경우 ssh ~을 위한 git cloning 다음 명령을 사용할 수 있습니다.

git -C path clone git@github.com:path_to_repo.git

예 :git -C /home/ubuntu/ clone git@github.com:kennethreitz/requests.git git 저장소를 끌어 당길 것입니다 requests 너의 ~에게 /home/ubuntu/ 길.

For Windows user 

1> Open command prompt.
2> Change the directory to destination folder (Where you want to store your project in local machine.)
3> Now go to project setting online(From where you want to clone)
4> Click on clone, and copy the clone command.
5> Now enter the same on cmd .

It will start cloning saving on the selected folder you given .

다음 링크를 따라가는 것이 좋습니다.

https://help.github.com/en/articles/cloning-a-repository

다음 오류가 발생하면 git 클론 URL 명령

fatal: unable to access 'URL': Could not resolve host: github.com

그런 다음 다음 명령을 사용하여 해결하십시오.

git config --global --unset https.proxy

원래 게시물 에서이 줄에 대해 :

"Repo를 복제 한 후 파일을 이동하는 방법을 알고 있지만 이것은 git을 깨뜨리는 것 같습니다."

나는 그렇게 할 수 있고 지금까지 ADD, Commit, Push, Pull Operations에서 아무런 문제가 없습니다.

이 접근법은 위에서 언급되어 있지만 단계로 나뉘 지 않았습니다. 다음은 저에게 효과적인 단계입니다.

  1. 레포를 신선한 임시 폴더로 복제하십시오
  2. 해당 루트 폴더에 CD를 로컬로 복제했습니다
  3. /.git 디렉토리를 포함한 폴더의 전체 내용을 원하는 기존 폴더로 복사하십시오. (저장소와 합병하려는 일식 프로젝트를 말하십시오)

방금 파일을 복사 한 기존 폴더가 이제 Git과 상호 작용할 준비가되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top