220813 TI Git 그만 좀 괴롭혀

2022. 8. 13. 22:52·성장이야기/TIL

오늘 또 git에서 충돌이 일어났다..

저번에 한번 충돌 일어난 적이 있었는데 저번에는 해결하지 않고 넘어갔었는데 이번에는 충돌 문제를 해결해야만 했다.

github에서 친절하게도(?) 충돌 난 파일들을 보여준다.

이게 몇개야.. 그냥 모든 파일 테스트 파일까지 전부 충돌이 났다.

 

이 충돌문제를 해결하기 위해 열심히 구글링을 해서 방법들을 몇 개 찾아봤다.

우선 첫번째는 깃허브에서 웹에서 해결할 수 있는 방법이 있었다.

여기서 Resolve conflicts를 누르면 되는 건데 나는 충돌 난 파일이 너무 많아서 웹에서는 해결할 수 없다고 버튼이 비활성화되어있는 상태다..

 

그러면 깃 명령어를 이용해서 해결해야 했다.

 

그래서 깃허브가 친절하게 command line까지 알려주면서 해결하라고 해준다.

스텝 1 : project repository에서 새 브랜치를 checkout하고 변경 사항을 테스트

아주 친절한 github는 어떤 브랜치로 체크아웃할지 친절히 이름까지 지어줬다.. 

git checkout 명령어 복붙해서 브랜치 만들고 git pull 명령어 복붙 했다.

뭐 이런거 뜨면서 된 거 같은데 intellj 들어가서 보면 충돌 난 부분이 안 보이는데...? 뭘 수정하지?

 

그래서 그냥 다음단계인 git checkout main 해보는데

fatal: 'main' matched multiple (2) remote tracking branches

main과 일치하는 브랜치가 2개가 추적된다고 하는 거 같은데? main이 왜 2개지..?

이 다음부터 어떻게 하는지 몰라서 포기..

 

그래서 github에서 친절하게 알려준 방법은 실패

 

다음은 구글링!

구글에는 수 많은 깃 충돌 문제 해결방법이 있었지만 내가 멍청한 건지 다양한 방법을 따라 해도 해결이 되지 않았다.

# 우선 대상 브랜치로 이동 git checkout develop

# 대상 브런치의 로컬 최신화 git pull origin develop

# 다시 내 작업 브랜치로 이동 git checkout {작업 브랜치}

# 머지 요청 git merge develop

#이러면 충돌난 곳이 아까 웹에서 나타난 것 처럼 보이게 되는데, 수정 후, add, commit, push 하자

여러 개를 찾아봐도 다 위와 같은 방법으로 브랜치 새로 checkout 한 뒤 충돌 난 파일 받아오고 수정하고 add, commit, push 하래서 했는데

또 안돼.. 파일 충돌난거 받아오고 수정까지 했는데 push 하니까 또 안 해준대..

이번에는 빨간 글씨나오면서 안 해준다는데 캡처를 못해서 뭐였는지 기억이 안 나네.. 하도 오류가 나서

 

https://www.youtube.com/watch?v=5FU-uyatBXc

그래서 이번에는 생활코딩에 깃 충돌 해결방법 유튜브 영상 있길래 따라했는데 안돼.. 왜 안돼 

 

그래서 도대체 왜 충돌이 일어나는건지 궁금해서 충돌이 일어나는 이유를 알아봤는데 

대부분의 충돌 원인은 같은 위치의 코드를 동시에 수정했기 때문이라고 한다.

협업 시 파일을 수정할 때 여러 개발자가 서로 다른 위치를 수정했다면 깃에서 서로 다른 위치의 소스를 자동으로 병합하기 때문에 문제가 없지만 동일한 파일에서 똑같은 위치에 두 명 이상이 서로 다르게 수정했다면 충돌이 발생한다고 한다.

 

근데 나는 하나의 브랜치로 나혼자 수정하고 푸시하고 했는데..?

도대체 왜 충돌이 나는거지?

 

충돌 내용을 보면 내가 푸시 바로 이전에 수정했던 내용과 이전의 전 그러니까 두 단계 전의 커밋 내용과 바로 전 커밋 내용이 충돌되고 있는 걸 알 수 있었다.

 

그러면 내가 브랜치를 잘못 설정하고 커밋을 한 건가 생각이 들지만

220810-makaoBankTransactions라는 브랜치로 파일을 만들었기 때문에 다른 브랜치로 전환을 하면

220810-makaoBankTransactions이 브랜치로 만든 파일들은 안보이기 때문에 애초에 수정이 할 수 없는 걸로 알고 있는데..?

 

결국 원인도 모르고 해결도 못하고.. 이유라도 알면 좋을 텐데

git이 친구는 알다가도 모르겠는 친구다.

 

언제까지 git에 시간을 쓸 수 없는 노릇이고 혼자 해결하지 못할 거 같아서 트레이너님께 SOS 요청한 상황이다.

 

암튼 해결하면 잘 정리해서 다음애 또 충돌 일어나면 혼자 해결할 수 있게 해야겠다.

 

'성장이야기 > TIL' 카테고리의 다른 글

220815 TIL 비효율적인 하루  (0) 2022.08.15
220814 TIL Hello, JavaScript!  (0) 2022.08.14
220812 TIL Layered Architecture란 무엇인가?  (0) 2022.08.12
220811 TIL 공부하다 한번씩 찾아오는 무기력함  (0) 2022.08.11
220810 TIL 아직도 어려운 git  (0) 2022.08.10
'성장이야기/TIL' 카테고리의 다른 글
  • 220815 TIL 비효율적인 하루
  • 220814 TIL Hello, JavaScript!
  • 220812 TIL Layered Architecture란 무엇인가?
  • 220811 TIL 공부하다 한번씩 찾아오는 무기력함
seungjjun
seungjjun
  • seungjjun
    개발이야기
    seungjjun
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 성장이야기
        • TIL
        • 주간회고
      • Java
        • Spring
        • Spring Security
      • 트러블슈팅
      • Kafka
      • OS
      • Network
      • 메가테라
      • Database
      • Algorithm
      • Git
      • HTML
      • CSS
      • 독서
      • 컴퓨터 이해하기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Til
    항해플러스
    주간회고
    메가테라
    항해99
    개발일지
    이커머스 프로젝트
    graphQL
    메가테라 주간회고
    redis
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
seungjjun
220813 TI Git 그만 좀 괴롭혀
상단으로

티스토리툴바