오늘은 Git 특강을 들었다! 한 2주 전에 올린 기본적인 Git에 관한 TIL은 작성한 적이 있는데, 그때 다룬 내용보다 좀 더 심화 과정인 거 같다
오늘 배운 Git 명령어 3가지를 간략하게나마 정리
Git switch profile
이런 식으로 Git switch 브랜치명 으로 입력하면 된다.
Git branch cookie
위와 같이 Git branch 브랜치명 으로 입력하면 된다.
Git merge cookie
보통의 명령어들은 명령어 + 브랜치명으로 사용이 가능하다
저렇게 써준다면 cookie 브랜치의 코드가 main 브랜치에 합쳐질 것이다
보통 2가지 상황이 있는데,
1. 서로 다른 파일을 수정했을 때
2. 서로 같은 파일을 수정했을 때
이럴 때 1번의 상황 같은 경우, 충돌없이 무탈하게 잘 병합할 수 있겠지만 문제는 2번의 상황인 것이다.
a와 b가 c라는 같은 파일을 수정했을 때, a가 1~200번째줄
b가 50~200번째줄을 수정했다고 가정하면 이대로 merge를 시켜버리면 50~200번째줄 사이의 코드가 뒤죽박죽이 될 게 뻔하니 이럴 때 Git은 merge를 실행시켜주지 않고 a와 b에게
수정해줄 것을 요구한다.
이러한 충돌을 "conflict 충돌" 이라고 부른다.
이러한 상황을 방지하기 위해선
브랜치의 변화를 지속적으로 자신의 브랜치로 땡겨와서 충돌나는 부분이 있다면 제거해가면서 작업을 하는 수 밖엔 없는 거 같다..ㅠㅠ