Git을 이용하여 개발을 할 때 기본적으로 지켜야 하는 규칙이 있다.
Pull -> Commit -> Push
Visual Studio를 켜자마자 팀 탐색기에서 git 접속 후, Pull을 해주고
작업을 한 후 Commit을 하고, 마지막 확인 후 Push를 해줘야 한다.
만약 Pull을 해주지 않고 작업을 하고 Push를 한다면 이전 버전과 변경내용이 겹쳐서 문제가 생긴다.
혹은 사람들이 각각 작업을 하다가, 누군가의 영역을 침범하여 문제가 발생하기도 하는데
이를, Conflict 라고 한다.
Conflict 상황을 만들어서 해당 문제에 직면했을 때 어떻게 해결을 해야 하는지 연습해 보겠다.
Conflict 시나리오.
1. 각각의 브랜치에서 Local Repository에서 작업하던 것을 Remote Repository로 push 한다.
2. 두 브랜치의 작업을 merge 한다. ( 같은 파일에 수정된 코드가 있을 경우 conflict가 일어난다. )
3. merge tool을 이용하여 간단히 충돌을 해결하고 병합을 마무리한다.
우선 visual studio에 팀 탐색기의 [연결 관리]를 이용하여 해당 repository를 열어준다.
그다음으로 분기(branch)를 만들어 줄 것이다.
분기에 대한 설명은 다른 사이트로 대신하겠다. https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html
이제 나눠진 브랜치를 병합을 할 것이다.
Visual Studio에서 제공하는 merge tool로 소스 코드와 대상 코드의 conflict난 부분을 바로 확인할 수 있어서
살릴 코드와 죽일 코드를 선택하고 결과 코드를 확인하고 병합을 누르면 간단히 충돌 문제를 해결을 할 수 있다.
(브랜치를 다루는데 익숙하지 않아서 여러 번 시도하느라 코드는 많이 변화되었을 뿐이지 성공적으로 커밋을 하였다.)
각자 작업을 하고 병합을 할 때 충돌 문제가 발생하였지만 잘 해결된 것을 확인할 수 있다.
비주얼을 통해 깃을 처음 써봐서 충돌 상황을 만드는 것에 많은 시간을 허비했지만
정작 충돌 상황에서 문제 해결하는 것은 매우 간단하였다.
이러한 연습상황이 아니라 실제 상황의 경우 충돌이 일어나면 어느 부분이 다른지 파악을 하기 더 힘들기 때문에
merge tool을 이용하는 것이 많은 도움이 될 것이다.
'프로그래밍 > Git' 카테고리의 다른 글
[Git] 이전 커밋 user.email 바꾸기 - 잃어버린 내 잔디 심기 (1) | 2022.07.11 |
---|---|
[Git] CLI (Git Bash) 를 통해 Git 사용하기2 - Git 기초 (0) | 2022.07.11 |
[Git] CLI (Git Bash) 를 통해 Git 사용하기1 - CLI 기초 (0) | 2022.07.10 |
[ Git ] Visual Studio GitHub 연동 방법 정리 (0) | 2020.10.11 |
[ Git ] Git을 사용해야 하는 이유! (0) | 2020.10.11 |