[TIL] Git Workflow

Džeko.Log·2021년 4월 6일
0

TIL

목록 보기
7/8

페어프로그래밍을 위한 Git Workflow 이해하기

  1. 깃허브의 repository에서 나의 repository로 fork 한다
  2. 나의 repository에서 나의 local로 가져오기 위해 clone 한다
    $ git clone <Repo URL>
  3. 동료와 공동작업을 위해 나의 local과 상대방의 repository와 연결한다.
    $ git remote add pair <Repo URL for pairs fork>
  4. 그리고서 코드를 작성한 후 local에 커밋해준다.
    $ git add <change file>
    $ git commit -m "commit message"
  5. 그다음에 나의 remote repository (origin)에 푸쉬해준다.
    $ git push origin master (or other branch name)
  6. 이 상태에서 나의 동료는 pull 명령어를 사용해 변경된 내용을 자신의 local로 가져올 수 있다.
    $ git pull pair master (or other branch name)
  7. 이 순서를 계속해서 반복해서 작업한다.

항상 push는 자신의 레포지토리에 pull은 페어의 레포지토리에서 해야 한다.

충돌(conflict) 해결

충돌이 안일어나게 하려면?

  1. git pull pair master 후 수정한다.
  2. 수정한걸 git add 한다.
  3. git push origin master 한다.
  4. git commit -m
  5. 1번~4번 과정을 반복한다.

Git Branch란?

여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 바로 '브랜치(Branch)' 입니다. 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있지요. 이렇게 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수 있습니다.

언제 쓰이는가?

  • 새로운 기능을 개발할 때
  • 원본에 영향을 주지 않고 다양한 시도를 하고 싶을 때
  • 현재 작업 공간을 베이스로 만들어진다 (만들기 전에 내가 현재 작업하고 있는 곳을 항상 확인!!)

Branch의 기능

git checkout <브랜치 이름>

  • 작업 공간이 브랜치 이름으로 옮겨가게 된다.

Git checkout -b <새로 만들 브랜치 이름>

  • 새로운 branch를 만들고 해당 branch로 이동하게 된다.

원본을 베이스로하는 다른 브랜치를 만들고 싶다면?!

  • 베이스로 하고 싶은 브랜치로 작업 공간을 옮긴다
  • 옮긴 작업 공간에서 브랜치를 생성한다
  • git checkout <원본> ⇒ git checkout -b <새로운 브랜치>

Today Git 명령어

git init : 현재 디렉토리를 기준으로 Git 저장소가 생성 (Git 저장소가 되었다는 가장 큰 증거는 디렉토리 내부에 .git 디렉토리가 생긴다)

diff : 파일의 어떤 내용이 변경되었는지 차이점을 비교 (commit, branch, working directory와 staging area 간의 비교 등등)

log : 저장소의 히스토리를 조회 (커밋 내역)

master branch : 기준이 되는 브랜치
feature branch : 나의 브랜치
git merge <다른 브랜치명> : 둘을 합치게 되면 이것이 merge
브랜치 삭제 : git branch -D (반드시 먼저 master branch로 이동해서 지울 것!)
git log —branches —graph —decorate —online : 그래프형 커밋 히스토리

0개의 댓글