프로필

프로필 사진
Popomon
Frontend Developer
(2020/12 ~)

    카테고리

    포스트

    [프로젝트 관리] Git 저장소를 2인 이상이 함께 사용하려면?

    2021. 7. 7. 03:12

    꿈가게: To Do List - iOS

    꿈가게: To Do List - Android

    2인 이상의 한 팀이 Git 저장소를 함께 사용하려면 무엇이 필요할까요? 바로 서버입니다! 여기서 서버라는 것은 각 팀원이 가진 컴퓨터를 제외한 여분의 컴퓨터를 의미합니다.

    만약 학생들 또는 취준생들이 프로젝트를 만드는데 컴퓨터를 한대 새로 사야한다면 ... 너무 비싸겠죠? 그래서 아마존웹서비스중 하나인 AWS Light Sail을 사용하는 것을 추천합니다. 서버를 일정 기간 대여해주는 서비스로, 월 3.5 달러부터 더 비싼 요금제 까지 있습니다. 하지만 .. 3.5 ~ 5달러짜리 요금제를 사용해도 충분하다고 생각합니다!

    Github / Gitlab 이 있는데 왜?

    제가 Github/Gitlab과 같은 무료 서비스도 있지만, AWS Light Sail을 추천하는 이유는 프로젝트를 배포하는 방법을 연습을 할 수 있기 때문입니다.

    프로젝트를 만들고, 수정하고, 배포하는 작업을 같이 하다보면 여러가지 불편한 점들이 눈에 보이기 시작하는데, 이를 해결하기 위해 노력하다 보면, Github/Gitlab과 같은 서비스를 사용하는 것 보다는 좀더 많은 것들을 배울 수 있다고 생각합니다.

    어떻게 서버를 만들죠?

    Git 서버는 매우 간단합니다! 이전 포스팅에서 리눅스에 Git 설치하기 과정을 그대로 따라하시면 그게 바로 Git 서버가 되는 것입니다. 이제 추가로 해 주어야 할 작업은 외부에서 이 Git 서버에 접근을 할 수 있도록 git 이라는 사용자를 만들어주고, SSH 키 값을 추가하는 것입니다.

    이전 포스팅을 보기 귀찮으실 수 있으니 처음부터 정리를 해 보도록 하겠습니다!

    Git 설치하기

    ## Debian/Ubuntu 운영체제
    # apt-get install git
    
    ## Fedora/CentOS 운영체제
    # yum install git (up to Fedora 21)
    # dnf install git (Fedora 22 and later)

    설치 확인하기

    # git --version

    사용자 생성하기

    $ sudo adduser git

    사용자 폴더로 이동하기

    $ su git
    $ cd

    SSH 접속을 위한 폴더 및 파일 생성하기

    $ mkdir .ssh && chmod 700 .ssh
    $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

    SSH Key 추가하기

    이제 각 팀원들은 서버를 관리하는 팀장에게 id_rsa.<팀원 이름>.pub 라는 이름의 키 파일을 전달합니다. 그러면 팀장은 다음과 같은 명령어를 통해서 서버에 접속할 수 있도록 키 파일을 추가해 줄 수 있습니다.

    $ cat id_rsa.member1.pub >> ~/.ssh/authorized_keys
    $ cat id_rsa.member2.pub >> ~/.ssh/authorized_keys
    $ cat id_rsa.member3.pub >> ~/.ssh/authorized_keys

    프로젝트는 어떻게 만드나요?

    서버에 프로젝트를 생성하는 방법은 /srv/git 폴더 안에 프로젝트 이름으로 폴더를 생성하고, 그 폴더 안에서 git init --bare 명령어를 실행해 주시면 됩니다!

    $ cd /srv/git
    $ mkdir project.git
    $ cd project.git
    $ git init --bare
    Initialized empty Git repository in /srv/git/project.git/

    팀원들은 어떻게 이 프로젝트를 다운받을 수 있나요?

    이제 서버에서 프로젝트를 만들어 주었기 때문에, 다음과 같이 명령어를 입력한다면 서버의 프로젝트를 받아서 작업을 진행할 수 있습니다.

    $ git clone git@<서버 아이피 또는 도메인>:/srv/git/project.git

    참조 링크

    https://lightsail.aws.amazon.com/

     

    https://lightsail.aws.amazon.com/ls/webapp

     

    lightsail.aws.amazon.com

    https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server

     

    Git - Setting Up the Server

    A good deal of what is described here can be automated by using the ssh-copy-id command, rather than manually copying and installing public keys.

    git-scm.com