스택큐힙리스트

SSH를 통해 git 클론하기 본문

카테고리 없음

SSH를 통해 git 클론하기

스택큐힙리스트 2023. 11. 23. 09:52
반응형

내가 프로젝트를 시작하고 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'이(가) 이미 존재하며 빈 디렉터리가 아닙니다.



하지만 경로가 비어있는 것을 확인했습니다.

여기서 무슨 일이 벌어지고 있는 걸까요?

답변 1

이것은 질문과 직접적으로 관련이 없을 수 있지만, 내가 방금 한 실수와 난 오리지널 게시물에서 본 오류는 URL 지정 사양 ssh://user@server:/GitRepos/myproject.git입니다 - 콜론 :과 그 뒤에 절대 경로를 나타내는 슬래시 /가 모두 포함되어 있다.


그런 다음 Git clone, ssh: 호스트 이름을 해석할 수 없습니다 - git, 개발 - Nicolas Kuttler를 찾았습니다 (그것은 내가 얻은 오류이기 때문에 git 버전 1.7.9.5에서), 다음과 같이 언급했습니다:



초기에 사용한 명령어의 문제는 scp와 유사한 구문을 사용하려고 시도했다는 것이었습니다.



... 이 또한 내 문제였습니다! 따라서 기본적으로 ssh가 있는 git에서는 다음을 사용합니다


  • ssh://[email protected]/절대/경로/폴더/git/ - 서버의 절대 경로에는 슬래시(/)를 사용합니다.

  • [email protected]:상대/경로/폴더/git/ - 서버의 상대 경로에는 콜론(:)을 사용합니다. (ssh:// 생략, 서버의 사용자 이름(home dir 기준)에 상대적 경로)

답변 2

SSH를 통한 git clone
SSH는 Secure Shell의 약자로, 네트워크를 통해 안전하게 로그인하고 원격 시스템에 액세스하기 위한 프로토콜입니다. git은 버전 관리 시스템으로서, 소프트웨어 개발 프로젝트에서 효과적으로 협업하고 코드를 관리하기 위해 사용됩니다. 이번 글에서는 SSH를 통해 git을 복제(clone)하는 방법에 대해 설명하고자 합니다.
git clone은 원격 저장소(repository)에 있는 코드를 로컬 환경으로 복사하는 명령어입니다. 이 과정에서 SSH를 이용하면 데이터 전송 과정에서의 보안 문제를 해결할 수 있습니다. SSH를 사용하면 데이터가 암호화되어 전송되므로 누군가가 중간에서 데이터를 가로채도 그 내용을 해독할 수 없습니다.
SSH를 통한 git clone 과정은 다음과 같습니다. 먼저 로컬 터미널 또는 명령 프롬프트를 열고 git clone 명령어를 입력합니다. 그 다음, SSH URL을 사용하여 복제하고자 하는 원격 저장소를 선택합니다. URL은 git에 의해 제공되며 SSH 프로토콜을 사용하려면 해당 프로토콜의 URL을 제공해야 합니다. 마지막으로, SSH 키를 사용하여 인증 과정을 거칩니다. SSH 키는 공개 키와 개인 키로 구성되며, 해당 키를 사용하여 안전하게 원격 저장소에 액세스할 수 있습니다.
SSH를 통한 git clone은 여러 가지 장점이 있습니다. 첫째, 데이터 전송 과정에서 보안이 강화되므로 중간에서의 데이터 유출 및 변경이 방지됩니다. 이는 코드의 무결성을 보장하며, 프로젝트의 안정성을 향상시킵니다. 둘째, SSH는 아이디와 비밀번호를 입력하지 않고도 원격 서버에 접근할 수 있으므로 편리합니다. 키 생성 후 한 번 등록하면 암호화된 키를 사용하여 접속할 수 있으므로 로그인 절차가 간편해집니다. 마지막으로, 일련의 명령어를 자동화하여 배치 파일로 실행할 수 있습니다. 이를 통해 복제 작업을 자동화하고 효율성을 높일 수 있습니다.
이와 같이 SSH를 통한 git clone은 보안, 편리함, 자동화 등의 장점을 갖고 있습니다. 개발자들은 SSH를 통해 안전하고 효율적으로 코드를 관리할 수 있으며, 버전 관리 시스템을 통해 협업과 개발 과정을 원활하게 진행할 수 있습니다. 따라서 SSH를 활용하여 git clone을 하여 원격 저장소의 코드를 로컬로 가져오는 방법을 익히는 것은 개발자에게 매우 중요한 기술입니다.

반응형
Comments