ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GIT] 협업을 위한 깃
    Programming 2021. 3. 1. 18:37

    친구들과 토이프로젝트를 하게 되면서 git을 제대로 공부해봐야겠다고 생각했다.

    블로그 글을 보면서 실습한 내용을 정리해보았다. 

     

     

     

     

    실습 순서

    1. 원격 저장소 생성하고 내 컴퓨터에 다운받기(완)

    2. 로컬 저장소의 변경내역 원격 저장소에 반영하기(완)

    3. 새로운 브랜치만들어서 작업하고 Master 브랜치에 반영하기

    4. 원격 저장소 Fork해서 작업하고 Master 브랜치에 반영하기

     

     

     

     


    1. 원격 저장소 생성하고 내 컴퓨터에 다운받기

     

    1) 실습을 위해서 'gitstudy' 원격 저장소(github 사이트에 존재하는 저장소)를 만든다.

     

    2) 생성된 원격 저장소(github 사이트에 존재하는 저장소)를 내 컴퓨터에서 사용하기 위해서,

    원격 저장소를 로컬 저장소(내 컴퓨터)에 다운받는 과정이 필요하다. 

    원격 저장소 생성이 완료되면 다음과 같이 로컬에 저장소를 옮기기 위한 command line예시를 보여준다.

     

    3) 하지만 나는 CLI를 사용하지 않고, GUI로 저장소를 조작할 수 있는 sourcetree 프로그램을 사용할 것이다.

    소스트리 프로그램을 실행하고 생성한 리포지토리 주소리포지토리를 저장할 주소를 입력한다. 

     

     

    4) 클론 버튼을 누르면 원격저장소를 로컬저장소에 클론(복제)된다.

    소스트리는 다음과 같은 화면으로 이동하고, 로컬 저장소를 확인해보면 .git 폴더(현재 디렉토리가 깃 저장소라는 것을 의미)가 생긴 것을 확인할 수 있다.

     

     

    2. 로컬 저장소의 변경내역 원격 저장소에 반영하기

    1) 이번에는 README.md 파일을 생성해서 원격 저장소에 변경된 내용을 반영해보자.

     

     

    2) 소스트리를 확인해보면 로컬 저장소에 변경된 내역을 확인할 수 있다.

    현재 페이지는 아직 커밋되지(저장소의 현재 상태를 기록) 않은 상태의 파일들을 보여준다.

    이 때 '스테이지'라는 용어가 등장하는 데 '스테이지'란 커밋에 반영할 내용을 올려두는 장소로 생각할 수 있다. 스테이지에 올라가 있는 파일(Staged File)만 커밋에 포함된다. 커밋 이후 Push를 통해서 원격 저장소에 수정된 내용을 반영할 수 있다.

    - 원격저장소에 Push(반영)하는 과정: 로컬 저장소를 수정  >> 수정한 내용을 스테이지에 올림 >> Commit(현재 시점을 저장) >>원격 저장소에 Push(반영)

     

     

    3) 원격 저장소에 반영하고 싶은 파일(README.md)을 스테이지에 올리고, 커밋 메세지를 'README 파일 추가'로 설정했다.

    '커밋'은 저장소의 현재 상태를 기록(저장)하는 명령어이다. 

     

     

    4) 커밋을 누르면 로컬저장소의 모든 변경내역이 커밋되었으므로 현재 페이지는 비어있게 된다.

     

     

    5) 현재 Commit(현재 로컬저장소의 상태를 기록)완료되었지만, Push(커밋된 내용을 원격 저장소에 반영)가 안되었기 때문에, github 사이트의 원격저장소를 확인해도 아무런 변화가 없다. 커밋을 반영하기 위한 Push를 실행해보자.

     

     

    6) 커밋한 내용이 원격 저장소에 반영된 것을 확인할 수 있다.

     

     

    3. 새로운 브랜치만들어서 작업하고 Master 브랜치에 반영하기 (-ing)

     

    실제 프로젝트를 할 때 사용되는 대표적인 브랜치는 다음과 같다.

    - Master 브랜치 : 배포 준비 완료

    - Dev(Develop)브랜치 : 개발중

    - feature/기능이름 브랜치 : '기능이름' 개발

     

     

    1) 각 팀원들은 dev 브랜치에서 feature/자신이맡은기능이름로 브랜치를 하나 더 분기하여 작업을 한다.

    2) 해당 기능에 대한 개발이 완료되면, 자신이 개발한 코드를 dev 브랜치에 merge한다.

    3) dev 브랜치에서 각각의 기능을 성공적으로 merge하면 배포를 위해 master 브랜치에 merge한다.

     

     

    1) '개발 중'인 코드를 올리기 위한 dev 브랜치를 생성한다. 

    '새 브랜치로 체크아웃' 옵션을 선택하면, 현재 위치인 master 브랜치에서 새로 생성한 dev 브랜치로 이동한다.

     

    '체크아웃 master'를 선택하면 현재위치한 dev 브랜치에서 master 브랜치로 이동해서 작업할 수 있다.

     

     

    2) 회원가입 기능을 맡았다고 가정하고, 해당 기능을 개발하기 위한 'feature/join' 브랜치를 생성하고 해당 브랜치로 이동한다.

     

     

    3) 회원가입 기능을 구현한 Join.java파일을 작업한 후에 현재 브랜치(feature/join)에 commit + push한다.

    회원가입 기능 Join.java 파일 생성
    커밋

     

    내 작업을 위한 feature/join 브랜치에 push
    완료

     

     

     

     

    참고

    - milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/

     

    초심자를 위한 Github 협업 튜토리얼 (with 토끼와 거북이)

    git을 사용해 Github에서 협업을 하는 과정을 설명한 글입니다. 초심자를 대상으로 하며, SourceTree를 사용합니다.

    milooy.wordpress.com

    댓글

Designed by black7375.