Simple Git Workflow & Resolve Conflict

Jiyoung·2020년 10월 26일
0

1. Simple Git Workflow for Pair Programming

페어프로그래밍 시 페어의 코드를 가져와 최신화시키는 작업을 위해 git을 활용하는 연습을 하였다. pre과정 때는 페어와 코드를 주고받을 때 slack이나 줌 채팅을 이용했는데 git을 활용하면 좀 더 전문적인(?) 방식으로 코드를 주고받을 수 있다.

  1. 진행할 스프린트의 github repository를 fork함
  2. fork한 repository를 각자의 local로 가져옴(git clone Repo URL)
  3. 페어의 repository와 나의 local을 연결
    3.1 git remote add pair Repo URL for pairs fork
    3.2 git remote -v
  4. 연결 후, 드라이버를 맡은 사람이 코드를 작성하고 커밋함
    4.1 git add 수정된 파일명
    4.2 git commit -m '임의의 파일명'
  5. 드라이버의 github repository에 push함(git push origin master)
  6. 드라이버와 네비게이터 역할을 바꾼 후, 드라이버를 맡은 사람이 직전 코드를 자신의 local로 가져옴(git pull pair master)
  7. 새로운 코드 작성 후 커밋
    7.1 git add 수정된 파일명
    7.2 git commit -m '임의의 파일명2'
  8. 드라이버의 github repository에 push함(git push origin master)
  9. 드라이버 네비게이터 역할을 다시 바꾼 후, 직전에 작성된 코드를 자신의 local로 가져옴(git pull pair master)

위의 과정을 반복하여 연습하면 된다. 단, 여기서 주의할 점은 push는 나의 repository에, pull은 페어의 repository에서 해야한다는 것!

2. Resolve Conflict(충돌 해결)

페어와 같은 파일의 같은 라인을 수정하여 remote repository에 push하면 fetch first라는 메세지가 뜨게 되는데, 이는 remote repository에 있는 변경사항을 받아오라는 의미이다. (=> git pull origin master로 받아오면 됨)
pull을 하고 난 후 파일을 보면 충돌이 발생해있다. 즉 동시에 수정한 부분이 모두 표시되어 있다. 이는 Accept Current Change(내가 변경한 사항 적용), Accept incoming Change(페어가 변경한 사항 적용), Accept Both Change(둘 다 변경한 사항 적용) 탭 중에서 선택하여 수정하면 된다.
수정 후 'git add 수정된 파일명'를 입력하면 충돌이 해결되었음을 알리는 것이다. 그리고 커밋 후 remote repository에 push해주면 된다.

  1. remote repository에서 변경사항이 적용된 파일을 받아옴(git pull origin master)
  2. 충돌 부분 수정(Accept Current Change/Accept incoming Change/Accept Both Change 중 택1)
  3. git add 수정된 파일명
  4. git commit -m '임의의 파일명'
  5. remote repository에 push(git push origin master)
profile
경계를 넘는 삶

0개의 댓글