본문 바로가기
AI 리더의 시대

gh 명령어로 Repository 생성과 복제하기

by woojoon 2026. 1. 7.
반응형

gh 명령어로 Repository 생성과 복제하기 관련 이미지

 

 

GitHub CLI의 gh 명령어를 활용하면 터미널을 벗어나지 않고도 저장소(Repository)를 뚝딱 생성하거나 복제할 수 있어 개발 워크플로우가 훨씬 쾌적해집니다. 보통 gh repo create로 새 프로젝트의 보금자리를 만들고, gh repo clone으로 기존 코드를 로컬로 가져오게 되는데요, 이 과정을 웹 브라우저 없이 터미널에서 바로 처리할 수 있다는 게 가장 큰 장점입니다. 단순히 저장소만 만드는 게 아니라 가시성 설정이나 README 추가 같은 초기 세팅도 명령어 한 줄로 끝낼 수 있어, 기존의 웹 인터페이스나 일반 Git 명령어보다 훨씬 효율적이죠. gh repo create는 초보자를 위한 대화형 모드와 숙련자를 위한 플래그 모드를 모두 지원하는데, 대화형 모드에서는 질문에 답하듯 단계별로 진행하면 되고, 익숙해지면 플래그를 조합해 한 번에 설정을 마칠 수 있습니다. 특히 --clone 플래그를 붙여 생성과 동시에 로컬로 가져오거나, --source--push 옵션으로 로컬에 만들어둔 프로젝트를 즉시 원격 저장소로 밀어 올리는 기능은 정말 편리합니다. 복제할 때도 gh repo clone을 쓰면 긴 URL을 복사할 필요 없이 OWNER/REPO 형식만으로 깔끔하게 처리되며, HTTPS나 SSH 같은 프로토콜 설정도 알아서 맞춰줍니다. 이렇게 CLI 기반으로 저장소를 관리하면 마우스에 손이 가는 횟수가 줄어들 뿐만 아니라, CI/CD 파이프라인이나 자동화 스크립트를 작성할 때도 강력한 무기가 됩니다.

gh 명령어로 Repository 생성하는 방법과 기본 설정

새 저장소를 만들 때 사용하는 gh repo create 명령어는 유연함이 돋보입니다. 아무 옵션 없이 실행하면 친절하게 대화형 모드가 켜지면서 저장소 이름부터 공개 여부, .gitignore 설정까지 차근차근 물어봐 주기 때문에 CLI가 낯선 분들도 쉽게 쓸 수 있습니다. 반면, 빠른 작업을 원한다면 플래그를 적극 활용해 보세요. 예를 들어 gh repo create my-project --public이라고 치면 즉시 공개 저장소가 만들어집니다. 비공개로 만들고 싶다면 --private, 사내 내부용이라면 --internal 플래그를 쓰면 되고요. 생성 후 바로 작업을 시작하고 싶다면 --clone을 덧붙여 로컬 복제까지 한 번에 끝낼 수 있습니다. 프로젝트 설명은 --description으로, 초기 리드미 파일은 --add-readme로 간단히 추가할 수 있고, --gitignore Node--license MIT처럼 언어와 라이선스 설정도 생성 시점에 바로 적용 가능합니다. 제가 가장 즐겨 쓰는 기능은 이미 로컬에서 작업 중인 코드를 올릴 때인데요, gh repo create my-project --public --source=. --push라고 입력하면 현재 디렉터리를 기준으로 저장소를 만들고 커밋까지 푸시해 줍니다. 이 외에도 조직(Organization) 계정에 만들거나, 기존 템플릿 저장소를 본떠서 만드는(--template) 기능도 지원하니 상황에 맞게 플래그를 조합해서 나만의 생성 명령어를 만들어 보세요.

gh 명령어를 사용한 Repository 복제하기와 원격 저장소 연동

협업을 하거나 오픈소스를 살펴볼 때 gh repo clone 명령어는 필수입니다. 복잡한 전체 URL 대신 gh repo clone octocat/Hello-World처럼 '사용자명/저장소명'만 입력하면 되니 타이핑이 훨씬 간결해지죠. 만약 내 계정의 저장소라면 사용자명도 생략하고 gh repo clone my-repo라고만 써도 알아서 찾아옵니다. 물론 필요하다면 기존처럼 URL을 그대로 쓸 수도 있고, 저장소 이름 뒤에 디렉터리 경로를 적어 원하는 폴더에 내려받을 수도 있습니다. 이 명령어가 똑똑한 점은 Git 프로토콜 설정(HTTPS/SSH)을 자동으로 감지해서 처리해 준다는 것과, 특히 포크(Fork)된 저장소를 다룰 때 빛을 발한다는 점입니다. 포크된 저장소를 복제하면 CLI가 알아서 원본 저장소(upstream)를 원격 저장소로 추가해 주기 때문에, 추후 원본과의 동기화 작업이 매우 수월해집니다. 내부적으로는 git clone을 수행하므로 -- --depth=1 같은 Git 전용 옵션도 그대로 전달할 수 있고요. 인증 정보도 CLI가 관리해 주므로, 비공개 저장소라도 권한만 있다면 별도의 로그인 과정 없이 바로 복제할 수 있습니다. 이렇게 복제된 저장소는 일반 Git 저장소와 똑같이 작동하므로 바로 브랜치를 따거나 커밋을 시작하면 됩니다.

gh 명령어로 Repository 생성 및 복제 완료 후 관리 방법

저장소를 생성하고 복제한 뒤에도 gh repo 명령어의 역할은 끝나지 않습니다. 터미널에서 gh repo view를 입력하면 굳이 웹사이트에 들어가지 않아도 README 내용을 바로 읽어볼 수 있고, --web 옵션을 붙이면 필요할 때만 브라우저를 띄울 수 있습니다. 내 계정이나 조직의 저장소 목록을 보고 싶을 땐 gh repo list를 사용하는데, 언어별 필터링이나 개수 제한 옵션을 쓰면 원하는 프로젝트를 찾기가 훨씬 수월합니다. 프로젝트 관리를 하다 보면 저장소 이름을 바꾸거나(rename), 더 이상 쓰지 않는 저장소를 삭제(delete)하거나 보관(archive)해야 할 때가 오는데, 이 모든 작업을 터미널에서 명령어 한 줄로 처리할 수 있습니다. 특히 오픈소스 기여를 많이 하신다면 gh repo sync 명령어를 꼭 기억해 두세요. 포크한 저장소의 브랜치를 원본 저장소의 최신 상태로 동기화할 때, 복잡한 git remote 설정 없이 이 명령어 하나로 해결됩니다. 저장소 포크(fork)나 기본 브랜치 설정(set-default) 같은 작업도 지원하므로, 사실상 저장소와 관련된 거의 모든 관리 작업을 CLI 안에서 해결할 수 있다고 보시면 됩니다. 익숙해지면 git 명령어와 gh 명령어를 오가며 쾌적하게 개발하는 자신을 발견하게 될 것입니다.

반응형