TIL 기준
1. 어떤 문제가 있었는지
2. 내가 시도해 본 것들
3. 어떻게 해결했는지
4. 뭘 새롭게 알았는지
=문시해알
문제: 나의 상황은 Intelij로 코드를 작업 중이었으며 git을 사용하여 Github repository에 수정된 코드를 올려야 하는 상황이다. 이미 master branch는 생성이 되어있었고 4명의 팀원들이 협업하는 과정이기 때문에 내가 수정한 부분을 머지(Merge)하기 위해서 나의 브랜치를 커밋, 푸시하고 마스터 브랜치에 푸시와 머지를 하였다. 머지 과정에서 충돌 부분이 생겼으나 고민하지 않고 accept right를 눌렀더니 수정되어야 할 부분이 수정되지 않은 상황이었다.(Red Highlight!)
우선 충돌을 해결하기 위해 튜터 님께 부탁하여 revert과정을 거쳤고 내가 머지를 하기 전의 부분으로 돌아갈 수 있었다. 이를 통해 나의 브렌치를 머지하는 법을 알아보고 시도하는 동안 다른 팀원들은 각자의 업무를 볼 수 있도록 조치를 취하였다.
*revert과정은 단시간에 이해하기 어려우며 1시간 이상의 설명을 들어야 하므로 리버트가 어떻게 진행되는지는 아직 면밀히 이해하진 못하여 주말에 revert에 대해 공부할 예정이다.
시도: 어제부터 오늘 하루 동안 Intellij에서 깃허브 협업을 하는데 필요한 정보들은 모조리 수집한 것 같다. 그럼에도 불구하고 또다시 충돌이 날까 봐 선뜻 push를 할 수 없었다. 특별히 나는 정석적으로 풀, 커밋, 푸시, 머지를 하고 싶었는데 어느 사이트에서도 그런 설명이 나오지 않아 시간을 많이 낭비했던 것 같다. (내가 못 찾았을 확률이 높았겠지!)
해결: 정석적인 과정은 아니지만 팀원들의 도움으로 깃허브에 내 브랜치로 푸쉬한 코드를 마스터 브랜치에 pull request 하는 방법을 선택하였다. 풀을 한 후, intellij 터미널에서 git pull origin master을 하여 intellj에 열도록 하였다. 충돌난 사항은 수정을 하였고 커밋하고 푸시를 했다. 푸쉬한 것이 pull request 페이지에 잘 확인이 되었고 merge를 할 수 있다는 버튼이 나와서 merge request를 하였다.
새 앎:
1. 팀원들이 있었기에 답답했던 부분을 풀 수 있었다. 감사한 일이다.
2. pull request는 협업에서 제일 중요한 부분이며 항상 풀을 받는 것은 습관처럼 여기고 잊지 말자.
3. commit은 임시저장과 같은 존재이다. 임시저장을 하고 풀을 땡겨받자.
[ Intellij로 Github에서 협업하는 방법 ]
1. 기존의 레퍼지토리에 있는 마스터 브랜치 코드를 클론한다.
2. 내 브랜치를 생성한다. 커밋한다. 작업하고 푸시한다.
푸시하면 내 브랜치가 깃허브 레퍼지토리 안에서 확인이 된다.
3. 팀원이 수정된 코드를 마스터 브랜치에 머지했고 나의 수정된 코드도 머지하고 싶다면!
인텔리제이에서 내 브랜치 또는 수정된 브랜치(마스터 브랜치던지)에서 풀리퀘스트를 한다.
4. 충돌은 수정한다.
5. 커밋을 하고 내 브랜치에 푸쉬한다.
6. 깃허브로 돌아가서 compare&pull request를 누른다.
7. 왼쪽 master <- 오른쪽 my branch라고 가정했을 때 수정된 코드(my branch)를 master branch에 머지(병합)한다는 의미이다.
pull request가 이미 되어 있는 상태라면 merge가 가능하니 request 하라는 버튼이 확인된다. 그 버튼을 누르면 머지가 성공적으로 완성된다!
간혹 PR(pull request)을 했을 때 충돌(conflict)이 나오곤 하니 이 때는 수정을 찬찬히 해서 원하는 코드를 선택하면 된다!
'TIL (Today I Learned)' 카테고리의 다른 글
WIL) 6월 2째주 주간회고 / Java 문법과 키오스크 관리자 모드 만들기 (0) | 2023.06.11 |
---|---|
TIL) If문, 넌 내꺼야 (੭ꐦ •̀Д•́ )੭* ᑦᵒᔿᵉ ᵒᐢᵎᵎ (0) | 2023.06.09 |
TIL) 최근 주문목록만 출력할 수 있도록 if문 사용하기 (0) | 2023.06.08 |
TIL) 팀과제 - MemoVO로 메모장 구현하기 (0) | 2023.06.05 |
WIL) 찐아기개발자의 코드 번아웃과 극복법 (0) | 2023.06.05 |