[Git & Github] 내가 보려고 쓰는 깃 정리 글

김영서·2021년 6월 26일
8

1. 깃

1-1 What about GIT

깃이 제공하는 핵심 기능

  • 버전 관리
    문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템

  • 백업
    현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것이다. 외장 하드 디스크나 USB 디스크 등의 별도 저장 장치를 마련해서 백업할 수도 있고, 드롭박스나 구글 드라이브와 같은 인터넷 서비스를 사용하기도 한다. 백업 공간을 제공하는 인터넷 서비스 중에는 깃 파일을 위한 것이 여럿 있는데 이를 깃의 원격 저장소라고 한다.

  • 협업
    팀원들이 파일을 편하게 주고 받으면서 협업할 수 있다. 누가 어느 부분을 어떻게 수정했는지 기록이 남아 나중에 오류가 생겼을 경우 파악하기 쉽다.

1-2 리눅스 명령어

  • $ pwd : 현재 위치 경로 확인

  • $ ls : 현재 디렉터리에 있는 파일 확인

    ls 명령 옵션 모음
    -l : 파일과 디렉터리의 상세 정보까지 표시
    -a : 숨긴 파일과 디렉터리를 표시
    -r: 파일의 정렬 순서를 반대로 표시
    -t : 파일 작성 시간 순으로 표시

  • $ cd : 디렉터리 사이를 이동

    디렉터리 나타내는 기호
    ~ : 현재 접속중인 사용자의 홈 디렉터리
    ./ : 현재 사용자가 작업중인 디렉터리
    ../ : 현재 디렉터리의 상위 디렉터리

  • $ mkdir : 현재 디렉터리 안에 하위 디렉터리를 만듦

  • $ rm -r : 디렉터리를 삭제할 경우 'rm' 명령을 사용함. 이때 -r 옵션을 붙이면 디렉터리 안에 있는 하위 디렉터리와 파일까지 함께 삭제


2. 깃으로 버전관리하기

2-1 깃 저장소 만들기

저장소를 만들고 싶은 디렉터리로 이동해서 깃을 초기화 git init하면 그때부터 해당 데렉터리에 있는 파일들의 버전을 관리할 수 있다.

2-2 버전 만들기

프로그램 개발에서는 수정 내용이 쌓이면 새로 번호를 붙여서 이전 상태와 구별한다. 번호 등을 통해 구현된 것을 버전이라고 부른다.

2-2-1 스테이지와 커밋

  • 작업트리
    : 파일 수정, 저장 등의 작업을 하는 디렉터리로 '작업 디렉터리'라고도 한다. 우리 눈에 보이는 디렉터리가 바로 작업 트리이다.
  • 스테이지
    : 버전으로 만들 파일이 대기하는 곳이다. 예를 들어 작업 트리에서 n개의 파일을 수정했는데 2개의 파일만 버전으로 만들려면 2개의 파일만 스테이지로 넘겨주면 된다.
  • 저장소
    : 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳이다. '리퍼지토리'라고도 불린다.

스테이지와 저장소는 눈에 보이지 않는다. 깃을 초기화했을 때 만들어지는 .git 디렉터리 안에 숨은 파일 형태로 존재하는 영역이다.

  • 정리해서! 작업트리에서 문서를 수정하고 수정한 파일 중 버전으로 만들고 싶은 것을 스테이징 영역git add에 저장한다. 그리고 스테이지에 있던 파일을 저장소로 커밋하는 것git commit이 깃이 버전을 만드는 순서이다.

2-2-2 작업 트리에서 문서수정 후 스테이징하기

  • $ git status : 깃 상태를 확인할 때 사용
  • $ git add: 깃에서 스테이징할 때 사용

깃의 상태를 나타내는 메시지의 의미
1. On branch master: 현재 master 브랜치에 있다.
2. No commits yet: 아직 커밋한 파일이 없다.
3. nothing to commit: 현재 커밋할 파일이 없다.

2-2-3 스테이지에 올라온 파일 커밋하기 - git commit

커밋할 때는 그 버전에 어떤 변경 사항이 있었는지 확인하기 위해 메시지를 함께 기록해 두어야 한다.

  • $ git commit -m '커밋 메시지'
  • $ git log : 저장소에 저장된 버전을 확인
  • $ git commit -am '커밋 메시지' : 스테이지에 올리고 커밋하는 과정을 한 번에 처리한다. 단, 이 방법은 한 번이라도 커밋한 적이 있는 파일을 다시 커밋할 때만 사용 가능

2-3 커밋 내용 확인

  • $ git log : 현재까지 커밋했던 기록을 살펴보기 위한 명령

  • $ git log --stat : 커밋에 관련된 파일 확인

  • $ git log --online : 커밋을 간략히 확인할 때 편리한 명령

  • $ git diff : 변경사항 확인

2-4 버전 만드는 단계 별 파일 상태 확인

2-4-1 tracked 파일과 untracked 파일

작업 트리에 있는 파일은 크게 tracked 파일과 untracked 파일 상태로 나뉜다.

  • tracked 파일 : 깃이 추적하고 있는 상태의 파일
  • untracked 파일: 한 번도 깃에서 버전 관리를 하지 않는 상태의 파일

.gitignore 파일로 버전 관리에서 제외하기
: 버전 관리 중인 디렉터리 안에 버전관리를 하지 않을 특정 파일 또는 디렉터리가 있다면 .gitignore 파일을 만들어 목록을 지정할 수 있음

2-4-2 unmodified, modified, staged 상태

  • $ git commit --amend : 방금 커밋한 메시지 수정

2-5 작업 되돌리기

스테이지에 올렸던 파일을 내리거나 커밋을 취소하는 등의 각 단계로 돌아가는 방법

  • $ git checkout : 작업트리에서 수정한 파일 되돌리기
  • $ git reset HEAD 파일이름 : 스테이징 되돌리기
    -> HEAD 다음에 파일이름을 지정하지 않으면 스테이지에 있는 모든 파일을 되돌린다.
  • $ git reset HEAD^ : 최신 커밋 되돌리기, 취소한 파일은 작업 트리에만 남는다.
    -> 최근 n개의 커밋을 취소하려면 $ git reset HEAD~n
  • $ git --soft HEAD^ : 최근 커밋을 하기 전 상태로 작업 트리를 되돌림
  • $ git --mixed HEAD^ : 최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌림
  • $ git --hard HEAD^ :최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌림
  • $ git reset 커밋 해시 : 특정 커밋으로 되돌리기
    -> 특정 커밋 이후에 만들어진 커밋을 삭제하고 특정 커밋으로 이동한다.
  • $ git revert 커밋 해시 : 커밋 삭제하지 않고 되돌리기

3. 깃과 브랜치

3-1 브랜치란?

  • 깃으로 버전 관리를 시작하면 기본적으로 master 브랜치가 만들어진다.
  • 사용자가 커밋할 때마다 master 브랜치는 최신 커밋을 가리킨다.
  • 새 브랜치를 만들면 기존에 저장한 파일을 master 브랜치에 그대로 유지하면서 기존 파일 내용을 수정하고나 새로운 기능을 구현할 파일을 만들 수 있다.
  • master 브랜치에서 뻗어 나오는 새 브랜치를 만드는 것을 '분기(branch)한다.'고 한다.
  • 분기했던 브랜치를 master 브랜치에 합치는 것을 '병합(merge)한다.'고 한다.

3-2 브랜치 만들기

  • $ git branch : 브랜치를 만들거나 확인하는 명령
  • $ git branch <만들 브랜치 이름> : 새로운 브랜치를 만듦
  • $ git checkout : 브랜치 사이 이동하기
  • $ git checkout <만들 브랜치 이름>: 새로운 브랜치 만들고 해당 브랜치로 이동

3-3 브랜치 정보 확인

  • $ git log --online --branches : 각 브랜치의 커밋을 함께 확인
  • $ git log --online --branches --graph : 브랜치와 커밋의 관계를 그래프로 형채로 표시
  • $ git log master ..<브랜치 이름> : 브랜치 사이의 차이점 확인

3-4 브랜치 병합

3-4-1 병합

새로 만든 브랜치에서 작업이 끝나면 해당 브랜치의 내용을 master 브랜치로 병합하기 위해서는 먼저 master 브랜치로 체크아웃해야 한다.

  • $ git merge <브랜치 이름>
  • $ git merge <브랜치 이름> --no-edit : 깃에서 지정하는 커밋 메시지를 그대로 사용
  • $ git merge <브랜치 이름> --edit : 커밋 메시지를 추가하거나 수정하고 싶을 경우에 사용하는 옵션

병합 및 충돌 해결 프로그램
깃의 브랜치 병합을 자동으로 처리해 주고 충돌을 해결해 주는 프로그램이 있다. 병합 알고리즘에는 2 way merge와 3 way merge 가 있다.

  • P4Merge: 무료
  • Meld: 무료
  • Kdiff3: 무료
  • Araxis Merge: 유료

3-4-2 병합이 끝난 브랜치 삭제

  • $ git branch : 현재 저장소에 어떤 브랜치가 있는지 확인

저장소의 기본 브랜치는 master이므로 브랜치를 삭제하려면 master 브랜치에서 해야 한다.

  • $ git checkout master

브랜치를 삭제할 때는 git branch 명령에 -d 옵션 사용

  • $ git branch -d <삭제할 브랜치 이름>
    이렇게 삭제된 브랜치는 완전히 지워지는 것이 아니라 다시 같은 이름의 브랜치를 만들면 예전 내용을 다시 확인할 수 있다!

3-5 브랜치 관리

HEAD는 현재 작업 트리가 어떤 버전을 기반으로 작업 중인지를 가리키는 포인터이다. HEAD는 기본적으로 master 브랜치를 가리킨다.

  • 브랜치가 여러 개일 경우 현재 브랜치가 아닌 다른 브랜치에 있는 커밋을 골라 최신 커밋으로 지정하는 방법

    $ git log --online --branches 커밋해시를 확인
    $ git reset <연결하고 싶은 커밋의 해시>

  • git checkout 명령을 사용해 HEAD를 제어해 브랜치 이동 가능
  • git reset 명령을 통해 HEAD가 가리키고 있는 브랜치의 최신 커밋을 원하는 커밋으로 지정 가능, 이때 어떤 브랜치에 있는 커밋이든 지정할 수 있으며, 명령을 수행한 뒤 브랜치와 연결이 끊긴 커밋은 삭제된다

3-5-1 수정 중인 파일 감추기 및 되돌리기 - git stash

브랜치에서 파일을 수정하고 커밋하지 않은 상태에서 급하게 다른 파일을 커밋해야 할 경우가 있다. 이때 커밋하지 않고 작업 중인 파일을 잠시 감춰둘 수 있다. 그리고 당장 필요한 작업을 끝낸 후 다시 감춰둔 파일을 꺼낼 수 있다.

  • git stash 명령을 사용하려면 파일이 tracked 상태(한 번은 커밋한 상태)여야 한다.
  • 커밋하지 않은 수정 내용을 어딘가에 보관하려면 git stash 명령을 사용
  • 감춘 파일들은 stash 목록에서 확인 가능하며 가장 먼저 감춘 파일을 가장 아래에, 가장 최근에 감춘 것을 위에 쌓는 선입후출 방식으로 파일들을 저장한다.
  • 감춰둔 파일을 꺼내 수정하거나 커밋하기 위해서는 git stash 명령 뒤에 pop을 추가하면 stash 목록에서 가장 최근 항목을 되롤린다.

$ git stash
$ git stash pop
$ git stash apply : stash 목록에서 가장 최근 항목을 되돌리지만 저장했던 내용은 그대로 남겨둔다.
$ git stash drop : stash 목록에서 가장 최근 항목 삭제


4. 깃허브로 백업하기

4-1 원격 저장소와 깃 허브

  • 지역저장소가 아닌 컴퓨터나 서버에 만든 저장소
  • 원격저장소는 지역저장소와 연결되어 있으면서 백업과 협업이라는 중요한 역할을 한다.

4-2 지역 저장소를 원격 저장소에 연결

지역 저장소와 원격 저장소를 연결하려면 깃허브의 저장소 주소가 필요하다. 지역 저장소를 특정 원격 저장소에 연결하는 것은 한 번만 하면 된다.

  • $ git remote add origin <깃허브 저장소 주소>
  • $ git remote -v : 원격 저장소 연결 여부 확인

4-4 원격 저장소에 올리기 및 내려받기

push: 지역 저장소의 소스를 원격 저장소로 올리는 것
pull: 원격 저장소에서 지역 저장소로 내려받는 것

4-4-1 원격 저장소에 파일 올리기 - git push

  • $ git push -u origin master
    : -u 옵션은 지역 저장소의 브랜치를 원격 저장소의 master 브랜치에 연결하기 위한 것으로 처음 한 번만 사용됨
  • $ git commit -am <커밋할 메시지>
    : 스테이징과 커밋을 한꺼번에 실행한다. 스테이징 옵션(-a), 메시지 옵션(-m)

4-4-2 원격 저장소에서 파일 내려받기 - git pull

  • $ git pull origin master
    : 기본 원격 저장소가 origin이고 지역 저장소의 기본 브랜치가 master이기 때문에 git pull만 입력해도 된다.

4-5 깃허브에 SSH 원격 접속하기

SSH란?
보안이 강화된 안전한 방법으로 정보를 교환하는 방식이다.
기본적으로 프라이빗 키와 퍼블릭 키를 한 쌍으로 묶어서 컴퓨터를 인증한다.

  • 일반적으로 깃허브의 원격 저장소에 파일을 올리는 작업을 하기 위해서는 아이디와 비밀 번호를 입력해 해당 계정의 주인임을 인증해야 한다.
  • SSH 원격 접속은 프라이빗 키와 퍼블릭 키를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식이다.

4-5-1 SSH 키 생성하기

  1. 터미널 창에서 홈 디렉터리로 이동한다. 그리고 ssh-keygen을 입력한다. 화면에 SSH 키가 저장되는 디렉터리 경로가 표시되면서 파일의 이름을 입력하라고 하는데 입력하지 말고 enter키를 누르면 된다.
  • $ ssh-keygen
  1. 두 번 더 enter 키를 누르면 화면에 SSH를 통해서 다른 컴퓨터에 접속할 수 있는 비밀번호가 생성된다. 화면에 몇 가지 파일 경로가 표시괴는데 그중 id_rsa 파일이 프라이빗 키고, id_rsa.pub 파일이 퍼블릭 키이다.
  • $ cd ~/.ssh : .ssh 디렉터리로 한 번에 이동

4-5-2 깃허브에 퍼블릭 키 전송하기


SSH 방식으로 접근하려면 사용자 컴퓨터에 만들어져 있는 퍼블릭 키를 깃허브 서버로 전송한 다음 저장한다. 사용자 컴퓨터에서 깃허브 저장소에 접속하면 사용자 컴퓨터에 있는 프라이빗 키와 깃허브 서버에 있는 퍼블릭 키를 비교해 두 개의 키가 서로 맞으면 사용자 컴퓨터와 깃허브 저장소가 연결된다.

  1. SSH 키를 만들면 먼저 퍼블릭 키를 깃허브에 올려야 한다. 퍼블릭 키가 담겨 있는 id_rsa.pub 파일의 내용을 확인한다.
  2. 퍼블릭 키가 담긴 내용을 모두 복사한다.
  3. 웹 브라우저에서 깃허브에 로그인 한 다음 화면 오른쪽 위에 있는 사용자 아이콘을 누른 뒤 [Settings]을 선택한다.
  4. 여러 설정 메뉴 중 [SSH and GPG keys]를 누른 후 퍼블릭 키를 추가하기 위해 화면 오른 쪽에 있는 [New SSH key]를 누른다.
  5. SSH 중 퍼블릭 키는 여러 개를 등록할 수 있으므로 Title 항목에 현재 등록하는 SSH 퍼블릭 키를 쉽게 알아볼 수 있도록 제목을 붙인다. 그리고 Key 항목에 2단계에서 복사한 퍼블릭 키 값을 붙여 넣는다.
  6. Key 항목에 ssh-rsa로 시작하는 키 값을 입력했다면 [Add SSH key] 버튼을 눌러 SSH 키를 추가한다.
    ※ SSH Key를 복붙할 때 빈 칸, 빈 줄이 추가되지 않도록 주의
  7. 퍼블릭 키를 추가할 때 비밀번호를 한 번 확인하는데 비밀번호를 입력하면 된다.
  8. 이제 SSH키를 만들었던 컴퓨터는 깃허브 저장소의 SSH 주소만 알고 있으면 로그인 정보 없이 즉시 그 저장소에 접속이 가능하다.
    ※ 깃허브에 등록한 SSH 키를 삭제하려면 SSH 키 목록에서 오른 쪽에 있는 [Delete]를 누르면 된다.

4-5-3 SSH 주소로 원격 저장소 연결하기

  1. 깃허브 사이트에서 화면 오른 쪽에 있는 [+]를 누른 후 [New repository]를 선택한다. 저장소 이름을 입력한 후 [Create repository]를 눌러 저장소를 만든다,
  2. 저장소가 만들어지면 HTTPS 주소가 나타나는데 이때 [SSH]를 불러서 SSH 주소를 표시한 다음 해당 주소를 복사한다.
  3. 홈 디렉터리에서 저장소를 만든 후 해당 저장소로 이동한다.
  4. SSH 주소를 사용해 원격 저장소에 연결하는 방법은 HTTPS 주소를 사용할 때와 같다.
  • $ git remote add origin <복사한 SSH 주소>
  1. 이제부터는 원격 저장소를 사용하는 동안 로그인 정보를 요구하지 않기 때문에 편하게 푸시, 풀을 할 수 있다.

5. 깃허브로 협업하기

< 참고 사이트 >
초심자를 위한 Github 협업 튜토리얼

하나의 원격 저장소를 중심으로 둘 이상의 지역 저장소와 연결하는 방법과 연결된 원격 저장소와 지역 저장소를 동기화하는 방법에 대해 알아본다.

5-1 여러 컴퓨터에서 원격 저장소 함께 사용하기

5-1-1 원격 저장소 복제하기 git clone

원격 저장소를 기존에 연결된 지역 저장소 외에 다른 지역 저장소에서 사용하려면 원격 저장소에 담긴 내용 전체를 지역 저장소로 가져와야 한다.

  • $ git clone <복사한 주소> <작업할 디렉터리>
    ※ 원격 저장소를 현재 디렉터리에 복제하려면 <작업할 디렉터리> 대신 마침표(.)를 입력한다.

5-2 원격 브랜치 정보 가져오기

git pull 명령은 원격 저장소의 최신 커밋을 지역 저장소에 합쳐준다. 하지만 최신 커밋을 합치기 전에 원격 저장소에 어떤 변화가 있는지 먼저 살펴봐야 한다. 이럴 때 원격 브랜치에서 정보만 먼저 가져올 수 있다.

5-2-1 원격 브랜치의 역할

5-2-2 원격 브랜치에서 정보 가져오기 - git fetch

git fetch 명령은 원격 저장소의 정보를 가져오는 기능이 있다.
pull 명령이 원격 저장소의 커밋을 가져와서 무조건 지역 저장소와 합친다면 ferch 명령은 원격 브랜체이 어떤 변화가 있는지에 대한 그 정보만 가져온다.

팀 작업을 할 때 다른 사람이 수정한 소스를 훑어보고 지역 저장소화 합치고 싶은 경우에 pull 대신 fetch를 사용해 커밋을 가져온 다늠 지역 저장소와 합치면 된다.

  • fetch해서 가져온 최신 커밋을 확인하고 싶을 경우 FETCH_HEAD 브랜치로 체크아웃해서 확인하면 된다
  • 지역 저장소의 최신 커밋과 페치한 커밋의 차이를 비교하려면 git diff HEAD ori-gin/master를 입력하면 된다.
  • 페치한 후에 최신 커밋을 현재 브랜치에 합치려면 git pull 명령을 사용해서 원격 저장소의 소스를 내려받을 수도 있고, git merge 명령으로 FETCH_HEAD에 있던 커밋을 병합할 수도 있다.
  • git pull 명령은 git fetch(원격 브랜치 가져오기) 명령과 git merge FETCH_HEAD(원격 브랜티와 현재 브랜치 합치기) 명령 두 개를 합친 것과 같다.

$ git merge origin/master
: 페치한 뒤 병합할 때 원격 master 브랜치에 있는 커밋인 경우
$ git merge origin/<브랜치 이름>
: 다른 브랜치에 있는 커밋인 경우
$ git merge FETCH_HEAD
: 페치한 뒤 지역 저장소에 반영하지 않은 최신 커밋을 병합

5-3 협업의 기본

5-3-1 작업 환경 구성

저장소마다 다른 이름이나 메일 주소를 사용하기 위해 config 명령을 사용할 때 --global 옵션을 빼고 이름과 메일을 지정한다.

  • $ git config user.name "사용자 이름"
  • $ git config user.email 메일주소

5-3-2 원격 저장소에 첫 커밋 푸시하기

지역 저장소의 커밋을 원격 저장소에 푸시하려면 먼저 원격 저장소 주소를 복사한다. 그리고 터미널 창에서 깃의 origin에 복사한 주소를 지정.
-u 옵션을 붙이면 다음부터 git push 명령만으로 원격 저장소의 master 브랜치에 커밋을 올릴 수 있다.

5-3-3 공동 작업자 컴퓨터에 원격 저장소 복제하기

원격 저장소에서 협업할 때 공동 작업자는 자신의 작업을 진행하기 전에 git clone 명령을 사용해 원격 저장소를 복제한다.

깃허브에서 협업할 때는 여러사람이 함께 문서를 수정하고 푸시하기 때문에 반드시 작업하기 전에 원격 저장소의 최신 커밋을 풀한 다음 자신의 커밋을 푸시해야 한다.
반드시! 자신의 커밋을 푸시하기 전에 원격 저장소의 최신 커밋을 가져와야 한다!

5-4 협업에서의 브랜치 사용

협업을 하다 보면 각자 다른 기능을 맡아서 작업하는 경우가 많다. 이런 경우에 각자의 작업이 master 브랜치에 있는 문서들과 섞이지 않도록 새 브랜치를 만들어서 버전을 관리한다.

5-4-1 새로 만든 브랜치 푸시

  1. git pull 명령을 사용해 최신 커밋 정보를 가져온다.

  2. 새로운 기능을 구현하기 위해 지역 저장소에 브랜치 "feature/기능명"을 만들고 해당 브랜치로 체크아웃한다. git checkout 명령에 -b 옵션을 사용하면 브랜치를 만들고 체크아웃하는 것을 한 번에 할 수 있다.

    $ git checkout -b feature/main

  3. feature/main 브랜치로 체크아웃을 한 뒤 작업을 마치고 커밋한다.

  4. 원격 저장소에 feature/main 브랜치를 푸시한다.

    $ git push origin feature/main

5-4-2 풀 리퀘스트로 푸시한 브랜치 병합하기

아직 원격 저장소의 파일 목록에는 feature/main 브랜치에서 만든 작업 파일이 없다. 푸시한 브랜치는 풀 리퀘스트를 통해 병합해야 원격 저장소에 반영되기 때문이다.

< 풀 리퀘스트 하는 과정>
1. 브랜치 설명 몊에 있는 [New pull request]를 누른다.
2. 풀 리퀘스트 메시지를 작성한 후 [Create pull request]를 누르면 협업 중인 저장소에 풀 리퀘스트가 전송된다.
3. 협업 중인 원격 저장소에 등록된 풀 리퀘스트는 공동 작업자 중 누구나 확인하고 병합할 수 있다. 저장소 파일 목록 위에 [Pull request]를 누르면 등록된 풀 리퀘스트 목록이 나타난다. 등록된 풀 리퀘스트를 누른다.
4. 풀 리퀘스트 메시지를 확인한 뒤 이상이 없으면 [Merge pull request]를 눌러 병합한다. 이 공간에서는 풀 리퀘스트를 남긴 사람과 메시지를 주고 받을 수도 있다.
5. 커밋 메시지를 직접 입력하거나 기본 메시지를 사용할 수도 있다. [Confirm merge]를 누르면 브랜치 병합이 끝난다.
6. 브랜치가 병합되면 해당 브랜치에 있던 파일이 master 화면에 나타난다.
7. 브랜치 상태가 알고 싶다면 파일 목록 위에 있는 브랜치 버튼을 클릭한다. 브랜치가 병합된 상태라면 'merged'라고 표시되며 공동 작업자 중 누가 브랜치를 병합했는지도 알 수 있다.
8. 깃허브에서 협업할 때 보통 작업자마다 브랜치를 만들어서 진행하고, 작업 중간마다 풀 리퀘스트를 보애 master 브랜치에 병합한다. 그래서 깃허브로 협업할 때는 다른 작업자의 변경 내용을 바로 반영하기 위해 항상 pull부터 한 다음 자신의 작업을 진행하는 것이 좋다.

5-5 Github Projects

< 참고 사이트 >
Github Projects 사용해보기 (1)
Github Projects 사용해보기 (2)

5-6 Git Issues

issue : 프로젝트를 해야 하는 과정에서 하지 않은 일이나, 사람들이 발견한 문제, 버그를 기록하는 것

  • 프로젝트 관리 시스템을 위한 기능

5-6-1 이슈 관리

< 참고 사이트 >
git으로 프로젝트 관리하는 방법
Github을 이용한 프로젝트 관리

Asignee : 이슈 해결을 전담 받은 사람
Labels : 이슈 카테고리 (ex, bug, new feature, question
Status : 이슈의 상태 (ToDo, In Progess, Done)

  • Project내에 Add column 버튼을 사용하여 Project내 등록된 이슈의 관리 방식(Status)을 설정한다.
  • 일반적으로는 Todo, In Progress, Done의 3단계 형식으로 관리
  • 이 때 Manage automation를 이용해 내가 Project에 등록한 Issue의 status를 Isuue 또는 Pull Request가 Open/Close 됐는지에 따라 자동으로 바꿀 수 있게 지정할 수 있다.

0개의 댓글