git의 bare repository, mirror 명령어, git CLI의 간단한 사용

@developer/takealittle.time·2024년 10월 13일
1

Jungle

목록 보기
11/21

작성 배경

  • 이번주 과제를 수행하면서 git을 이용하면서 새롭게 알게된 내용에 대해 간단하게만 정리해보고자 한다.

01. Git의 bare repostitory

  • git을 이용할 때, 프로젝트가 상당히 무거워져 용량이 커졌다고 하자. 이 때, git clone을 이용하는 등 내부 파일들까지 다 옮기며 작업하게 되면 불편 사항이 발생할 수 있을 것이다.

  • git에서는 위와 같은 상황을 위해, '.git폴더', 즉 해당 git repository에 대한 변경사항, 이력 등의 정보만을 담은 bare repository를 활용할 수 있도록 한다.
    bare repository를 살펴보면 내부의 작업 파일들은 비어있고, .git 폴더만이 남아있다.
    이 bare repository를 이용해 실제 파일들을 다시 접근할 수 있다.

  • 예를 들어, 팀장의 github에 원격 저장소 A가 있다고 하고, 여기에 팀 작업 자료들이 저장되어 있다고 하자. 이 원격 저장소 A의 자료들을 내 개인 원격 저장소에 올려놓고 내 로컬과 이동하며 작업을 하고싶다.
    위와 같은 경우, bare repository를 이용하면 아래와 같이 동작을 수행할 수 있다.

$ git clone --bare {원격 저장소 A의 주소}
$ cd ${원격 저장소 A의 폴더명}.git
# 아래 교육생 repository는 GitHub미리 만들어 놓아야 함
$ git push --mirror {원격 저장소 B의 주소}
$ cd ..
$ rm -rf ${원격 저장소 A의 폴더명}.git
$ git clone {원격 저장소 B의 주소}
  • 위와 같은 작업을 통해, 팀 작업 github에 올라와있는 원격 저장소 A의 파일들을 내 github 원격 저장소 B로 옮기고, 내 공간에서 작업들을 이어나갈 수 있다.

02. git CLI

https://cli.github.com/

  • ubuntu 환경에서 git을 사용할 때, 원격 저장소와 연동해 작업을 수행할 때마다 git login을 요청하거나 인증이 제대로 이루어지지 않는 등 귀찮아지는 상황이 발생한다.

  • git CLI를 설치하고 gh auth login 명령을 통해 로그인을 해두면 위와 같은 상황을 방지할 수 있다.

  • git CLI는 다음과 같은 명령어를 통해 설치할 수 있다. ( ubuntu 환경 가정)

$ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null

$ sudo apt update
$ sudo apt install gh
  • git CLI의 설치가 끝났다면, 다음과 같은 명령어를 입력해 git 환경에 로그인 해두자!
    앞으로의 귀찮은 인증 과정을 무시할 수 있도록 해 줄 것이다.
$ gh auth login
profile
능동적으로 사고하고, 성장하기 위한. 🌱

0개의 댓글

관련 채용 정보