콘텐츠로 건너뛰기

원격 저장소 복제하고 원격 저장소에 업로드 하기 – git clone

원격 저장소에 있는 프로젝트를 사용하기 위해서는 git clone 명령을 사용하여 로컬 저장소에 프로젝트를 복제(다운로드)해야 합니다. 이번 포스팅에서는 원격 저장소 복제하는 방법에 대해서 간단하게 알아보겠습니다.

SSH 인증

GitHub에서 Private 저장소를 복제하거나 파일을 업로드 하기 위해서 먼저 SSH 키를 생성 후 GitHub에 공개키를 등록해서 SSH 인증이 가능해야 합니다.

만약 SSH 인증을 위한 절차를 하지 않았다면 아래 포스트를 참고하여 인정 절차를 먼저 진행해주세요.

원격 저장소 복제 – git clone

원격 저장소를 복제하기 위해서는 아래와 같이 입력하면 됩니다.

git clone <저장소 >

보통 GitHub, GitLab 등 원격 저장소 호스팅 업체에서는 아래와 같이 저장소 주소를 HTTPS 및 SSH 형태로 제공하고 있습니다.

저장소 복제 - GitHub 저장소 주소

저는 이전 포스트에서 생성한 원격 저장소를 복제해보겠습니다. 작업 폴더로 이동 후 아래와 같이 입력합니다.

git clone git@github.com:whalec-io/git-test.git
Cloning into 'git-test'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.

작업 폴더 하위에 git-test 폴더가 생성되고, 거기에 원격 저장소에 있는 파일이 복제 됩니다. 폴더 이름은 기본적으로 저장소 이름을 생성됩니다.

cd git-test
ls
실행 결과
total 0
drwxr-xr-x@  4 eden  staff  128  9 16 12:56 .
drwxr-xr-x@  4 eden  staff  128  9 16 12:55 ..
drwxr-xr-x@ 12 eden  staff  384  9 16 12:56 .git
-rw-r--r--@  1 eden  staff    0  9 16 12:56 a.txt

만약 폴더를 변경하고 싶다면 아래와 같이 저장소 뒤에 폴더 이름을 입력하면 됩니다.

git clone <저장소 > <폴더 >

git clone -b

git clone 시 기본 브랜치의 내용을 복제하는데, git clone -b 옵션을 사용하면 기본 브랜치가 아닌 특정 브랜치의 내용을 복제합니다.

git clone -b <브랜치이> <저장소 > <폴더 >

아래와 같이 develop 브랜치의 내용을 복제하겠습니다.

git clone -b develop git@github.com:whalec-io/git-test.git git-test-dev
실행 결과
Cloning into 'git-test-dev'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.e correct access rights
and the repository exists.

만약 브랜치가 없으면 아래와 같이 오류 발생 후 복제하지 않습니다.

git clone -b develop2 git@github.com:whalec-io/git-test.git git-test-dev2
실행 결과
Cloning into 'git-test-dev2'...
fatal: Remote branch develop2 not found in upstream origin

저장소에 커밋하기

a.txt 파일을 저장하고, git status 명령어를 입력하면 a.txt 파일이 수정된 것을 확인할 수 있습니다.

git status
실행 결과
On branch develop
Your branch is up to date with 'origin/develop'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   a.txt
	

no changes added to commit (use "git add" and/or "git commit -a")

git add 명령어를 사용하여 스테이징 영역으로 이동합니다.

# git add <파일>

# 전체 추가
git add .       # 또는 파일 만 추가 : git add a.txt

git commit 명령어를 사용하여 커밋을 해보겠습니다.

git commit -m "Second Commit"
실행 결과
[develop 4b74182] Second Commit
 1 file changed, 1 insertion(+)

로컬 저장소에 정상적으로 커밋되었습니다. 커밋 이력은 git log 명령어를 통해 확인할 수 있습니다.

git log
실행 결과
commit 4b74182b3ed98c1439d23f26057b87c06bb2f329 (HEAD -> develop)
Author: whalec-io <whalec-io@daum.net>
Date:   Mon Jan 6 21:30:46 2025 +0900





    Second Commit







commit c3ac25994fe5925df74554949a69f1bc7043fcdf (origin/main, origin/develop, origin/HEAD)



Author: eden kang <whalec-io@daum.net>
Date:   Thu Sep 12 00:04:42 2024 +0900

    First Commit

마치며

간단하게 git clone 사용 방법에 대해서 알아보았습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

목차 보기