Pair Programing을 위한 Git Flow

katsukichi·2021년 2월 23일
0

CodeStates_IM

목록 보기
4/48

Git Flow

Fork

내가 하려고하는 작업을 서로 포크떠서 자신의 리포지터리를 복사한다.

Clone

각자의 로컬로 가져온다.

페어의 Repo와 나의 Repo연결하기

$git remote add pair <Repo URL for pairs fork>
$git remote -v

로 서로 pair라는 이름으로 리모트를 추가할수있다.

이후 각자의 commit, push

그리고 role 이 바뀔때마다 서로의 것을 땡겨와야하는데

이때

git pull 명령어를 사용한다.

$git pull pair master 브랜치가 다른것이라면 다른 브랜치 이름으로

이것을 반복한다.

conflict ?

쉽게 생각하면 한명이 4~6라인을 수정했는데

pull로 땡겨오기전에 다시 4~6라인을 다른 사용자가 수정해서

커밋 푸시하게되면

서로 다른내용을 수정했으므로

둘중에 무엇이냐? 약간 이런 혼선이 생기게된다.

그래서 원래는 fetch를 중간중간(pull에 포함되어있음)

해줘서 auto merging이 된다. 하지만

이미 변경점이 서로 충돌나므로 auto merging 이 실행되지않는다고 뜬다.

이때 vscode로 수동으로 merging을 해주고

git add (commit해도 된다) 변경사항있는파일명 해주고

commit , push 진행해주면

github 홈페이지 가보면 커밋이 추가되어있는것을 볼수있다 (머지 커밋이라고 따로 생긴다!)

git Branch

분리된 작업 공간 , 사본이라고 생각하면 좋다.

사본에 어떤 변경을 해도 원본에는 영향을 안준다.

각각의 브랜치는 독립된 작업 영역이다.

협업 하기때문이다.

이게 핵심인거같긴한데..

새로운 기능을 개발할 때 원본에 영향을 주지 않고 다양한 시도를 하고 싶을 때

$git checkout <브랜치 이름>

현재 작업공간(원본이라고 생각한다면)

브랜치1으로 옮기고싶다.

$git checkout 브랜치1

브랜치1이 현재 작업 공간이라면

브랜치2로 옮겨가게 된다.

$git checkout 브랜치2

브랜치 생성

git checkout -b 기능1

기능1 branch 생성 + 기능1 branch로 작업공간 이동

새로운 브랜치를 만들때 (현재작업공간을 기준으로 카피본이 생기니까)

원본으로 "현재작업공간" 을 옮겨줘야한다. 이게 핵심 !

그이후 브랜치 생성 명령어를 하면된다.

브랜치 삭제

git branch -d <브랜치이름>

git push origin --delete dev

profile
front-back / end developer / Let's be an adaptable person

0개의 댓글