bestsource

ssh를 통해 git 클론 생성

bestsource 2023. 5. 4. 20:06
반응형

ssh를 통해 git 클론 생성

Git 저장소를 생성한 프로젝트가 있습니다.

$ cd myproject  
$ git init  
$ git add .  
$ git commit  

다른 시스템에 베어 클론을 생성하려고 했습니다.

$ cd ..  
$ git clone --bare myproject  ssh://user@server:/GitRepos/myproject.git  

복제를 실행했지만 응답을 인쇄하지 않았습니다.서버 컴퓨터에 로그온하여 파일이 어떻게 저장되는지 확인했습니다./GitRepos 경로가 비어 있어서 복제를 다시 수행하기로 결정했습니다.

$ git clone --bare myproject  ssh://user@server:/GitRepos/myproject.git

이번에는 다음과 같은 대답을 했습니다.

fatal: 대상 경로 'ssh://user@server:/GitRepos/myproject.git'이(가) 이미 있으며 빈 디렉토리가 아닙니다.

하지만 저는 그 길이 비어 있는 것을 보았습니다.
이게 무슨 일입니까?

이 없을 제가 한 것 중 에서 본 입니다. 하지만 제가 방금 제 자신이 저지른 실수 중 하나는, 제가 OP에서 본, URL 사양입니다.ssh://user@server:/GitRepos/myproject.git즉, 당신은 대장을 둘 다 가지고 있습니다.: 슬래시 리고슬시래그시▁and./절대 경로를 표시한 후에.

그런 다음 Git clone, ssh: 호스트 이름을 확인할 수 없음 – git, 개발 – Nicolas Kuttler (내가 받고 있던 오류였기 때문에,git 1 § 1.7.9.5), 참고:

처음에 사용한 명령어의 문제는 scp와 같은 구문을 사용하려고 했다는 것입니다.

그것은 또한 나의 문제였습니다!으로 그서기본로으적래로▁so으.git와 함께ssh 사있다니습사▁use를 사용합니다.

  • ssh://username@host.xz/absolute/path/to/repo.git/합니다.
  • username@host.xz:relative/path/to/repo.git/ 콜론그냥콜콜론(함이없야어론콜)함(')이 함)ssh:// dir의 (home dir ▁to)▁▁home)에 대한 경로)username서버 시스템)

GitHub에 있는 리포지토리의 경우 다음을 시도하십시오.

git clone ssh://git@github.com/<user>/<repository name>.git

ssh를 통해 복제하도록 git을 설정하는 방법은 다음을 참조하십시오.

서버를 호출하는 대상에 대해 복제 명령을 실행해야 합니다.하지만 로컬 클라이언트에서 ssh 서버를 실행하고 있지 않기 때문에 어쨌든 작동하지 않을 것입니다.이 접근 방식을 따르라고 제안합니다(매뉴얼을 확인하십시오. 왜냐하면 저는 이 작업을 메모리에서 수행하고 있기 때문입니다.)

  1. 서버 컴퓨터에 로그인합니다.
  2. 만을 사용하여 git init --bare
  3. 클라이언트 컴퓨터에서 보고서를 서버에 푸시할 수 있습니다. git remote add origin ssh://user@server:/GitRepos/myproject.git에 뒤에git push origin master

고지 사항:이것은 미래의 방문객들을 위해 더 잘 보이게 한 밥발루바의 논평의 사본일 뿐입니다.다른 어떤 답변보다 도움이 되었습니다.


당신은 그것을 떨어트려야 합니다.ssh://사용시접사를 사용할 때 git clone

git clone git@github.com:owner/repo.git

» » »
이거 먹어봐요.

1단계:

ls -al ~/.ssh

여기에 이미지 설명 입력

2단계:

ssh-keygen 

(기본값으로 Enter 키 사용) 3단계: 구성 파일을 설정하려면

vim /c/Users/Willie/.ssh/config

.com 은 gitlab.com 입니다.
.com 은 gitlab.com 입니다.
/git
파일 ~/.ssh/id_rsa

4단계:

git clone git@gitlab.com:<username>/test2.git

여기에 이미지 설명 입력

5단계:
Step 44를
됩니다.1.test2.git 파일은 다운로드 됩니다.
새 known_filename)을 수 . 새 파일(known_dll)이 ~/.dll에 표시됩니다.
여기에 이미지 설명 입력

PS: 제가 직접 id_rsa와 id_rsa.ub을 생성하여 Gitlab 서버에 전달합니다.클라이언트 측(윈도우즈 및 리눅스)에 대한 두 키를 모두 사용합니다.

Git 101:

git는 분산형 버전 제어 시스템입니다.Git를 사용하여 서버를 설치하고 실행할 필요는 없습니다.그래멋 보이그하렇 고수도있죠싶 ? ( 컴퓨터에서여러 컴퓨터에서 단일 프로젝트를 작업하려는 경우에도 유용합니다.

"하려면 ""를 실행해야 .git init --bare <your_project>.git 하빈가 생저 때성기 시되다 수 ..gitdir.dir.dir.dir.

할 수 , 저는 : 이후클트에작즉대수복있일클트부언라이지만할제서로는언동하이라즉,▁after이언클라(트▁(일▁clients부▁the▁but▁somename▁i▁that,git-gui하지 못합니다는 완전히 비어 있는 레포 복제에 실패합니다.하려면 를 .cd <your_project>.git && touch <some_random_file> && git add <some_random_file> && git commit && git push origin master이전에 사용자 이름과 전자 메일을 구성하지 않은 경우 해당 컴퓨터의 GIT에 대한 사용자 이름과 전자 메일을 구성해야 할 수도 있습니다.실제 실행할 명령어는 오류 메시지에 표시되므로 생략합니다.)

따라서 이 시점에서 다음을 실행하는 것만으로 모든 컴퓨터에 저장소를 복제할 수 있습니다.git clone <user>@<server>:<relative_path><your_project>.git(다른 사람들이 지적했듯이, 다음과 같이 접두사를 붙여야 할 수도 있습니다.ssh://절대 경로를 사용하는 경우.)로 이미 할 수 ( 파일 및 키도 얻을 수 ssh원격 서버에 많은 것을 푸시하려는 경우).

일부 관련 링크:
이것은 여러분이 알아야 할 것들을 말해줍니다.
그리고 이것은 git의 기본적인 작동을 알고 있지만 때때로 정확한 구문을 잊어버리는 사람들을 위한 것입니다.

Git-flow와 3가지 '포인트' 또는 사용 사례, Git 중앙 저장소, 로컬 개발 및 운영 시스템이 포함된 답변을 시도하고 싶습니다.이것은 잘 테스트되지 않았습니다.

나는 믿을 수 없을 정도로 구체적인 명령을 내리고 있습니다.라고 말하는 대신에<your folder>말씀드리건대/root/git원래 명령을 변경하는 유일한 위치는 특정 서버 이름을 다음으로 바꾸는 것입니다.example.com폴더의 용도는 당신이 그에 맞게 조정할 수 있도록 설명하겠습니다.혼동되는 부분이 있으면 알려주시면 답변을 업데이트하겠습니다.

서버의 Git 버전은 1.7.1입니다.서버는 CentOS 6.3(최종)입니다.

개발 시스템의 Git 버전은 1.8.1.1입니다.이것은 Mac OS X 10.8.4입니다.

중앙 저장소와 프로덕션 시스템이 동일한 시스템에 있습니다.

svn 사용자가 '서버'로 연결할 수 있는 중앙 저장소는 다음과 같이 구성됩니다.폴더가 있습니다./root/git내 모든 git 저장소를 보관하는 곳.저는 '꽃'이라는 프로젝트를 위한 깃 저장소를 만들고 싶습니다.

cd /root/git
git clone --bare flowers flowers.git

git 명령은 두 가지 메시지를 제공했습니다.

Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.

걱정할 것 없습니다.

개발 시스템의 구성은 다음과 같습니다.폴더가 있습니다./home/kinjal/Sites모든 프로젝트를 수행하는 곳입니다.이제 중앙 git 저장소를 가져오려고 합니다.

cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git

이것은 제가 그것에 무언가를 추가할 수 있는 지점에 이르게 합니다.먼저 Git Flow를 설정합니다.

git flow init -d

기본적으로 분기에 있습니다.develop여기에 코드를 추가합니다.그러면 중앙 깃 저장소에 커밋해야 합니다.

git add .
git commit -am 'initial'
git push

이 시점에서 개발 지점으로 이동했습니다.이것도 마스터 브랜치에 추가하고 싶습니다.

git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push

릴리스 시작과 릴리스 완료 사이에는 아무것도 수행하지 않았습니다.릴리스를 완료했을 때 두 개의 파일을 편집하라는 메시지가 표시되었습니다.이로 인해 개발 브랜치가 마스터가 되었습니다.

중앙 git 저장소와 동일한 시스템에 있는 프로덕션 사이트에서 저장소를/var/www/vhosts/example.net.나는 이미 가지고 있다./var/www/vhosts.

cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net

생산 기계도 다른 기계에 있다면,git clone명령은 개발 기계에서 사용되는 것처럼 보입니다.

git clone git@server:예제/proect.git

솔직히, 저는 GIT 기술이 조금 부족합니다.

그러면 시스템에 폴더만 포함된 맨 저장소가 복제됩니다..git숨겨진 디렉터리입니다.실행에 옮기다ls -al그리고 당신은 봐야 합니다..git또는cd .git저장소 내부에 있습니다.

확인했습니다. gitclone --bare "/GITREPOSOTS/RepoA" "ssh://luc@EERSTENASDS119J/volume1/RepoA" 결과: fatal: 대상 경로 'ssh://luc@EERSTENASDS119J/volume1/RepoA'이 이미 있으며 빈 디렉토리가 아닙니다.

현재 경로에 ssh://luc@EERSTENASDS119J/volume1/RepoA 디렉토리가 생성되었습니다.

Sogit 클론이 URL 규격을 해석하지 않았습니다.알렉의 해결책을 사용했습니다.

언급URL : https://stackoverflow.com/questions/6167905/git-clone-through-ssh

반응형