코드스테이츠 Day7
< git : The information manager from hell >
<느낀 점>
페어랑 지정된 협업 시간 2시간 외에, 2시간을 더 헤맨 끝에 오늘 분량을 다 이해하고 끝을 냈다.
이미 git init을 통해 초기화가 된(=.git이 생성된) 폴더(1) 안에서 git clone을 하고, 그 폴더(1)에서 바로 git remote add를 하여 작업했더니 push와 pull에서 계속 에러가 났다.
딱히 실수한 것도 없는 것 같은데 계속 에러가 나서, 개념이 부족한가 하고 오후 세션 듣고 다시 둘이서 해봤으나, 또다시 에러. git은 다른 강습생들도 어려웠는지 원래 종료 시간 후 30분이 지났는데도 아직 줌 미팅이 진행 중이길래 들어가서 질문했다.
그리고 이미 .git이 생성된 폴더(1) 내부에 clone을 받게 되면 .git 디렉토리가 중첩되어 예기치 못한 오류가 발생할 수 있다는 것을 알게되었다.
그래서 새 폴더(2)를 만들고, 거기에 바로 clone을 한 후(No init!), -- clone을 하면 해당 remote repository에 대한 폴더(3)가 생기는데, 그 안에서 ls -la를 해보면 .git이 자동 생성되어있다. 이유는 clone을 했기때문 -- 생성된 폴더(3) 내부에서(cd), remote add를 통해 상대방의(other) remote repository를 연결하여 협업을 했더니 성공적이었다.
이 부분(이미 .git이 생성된 폴더(1) 내부에 clone을 받게 되면 .git 디렉토리가 중첩되어 예기치 못한 오류가 발생할 수 있다)에 대해 미처 학습 자료에 명시하지 못해서 미안하다는 소리를 들었다. 결국엔 해결해서 다행이지만 약간 딥빡이었음.. ㄹㅇ 4시간을 개고생했는디,, 아무리 검색해도 감이 안 오고...
다 끝나고 방금까지 .git이 중첩된 폴더에서는 왜 오류가 생길까 좀 더 찾아봤는데, 정확한 이유는 모르겠지만 branch와 관련된 것 같다. 상위 폴더(1)도 'main' branch를 쓰고, 하위 폴더(2)도 'main' branch를 쓰는 상황에서 push 또는 pull을 하면 git이 길을 잃는거지...
실제로 fatal: Need to specify how to reconcile divergent branches. 이런 문구가 떴었다.
관련하여 내가 찾아본 정보는 아래 링크에.
https://eocoding.tistory.com/m/108
사진은 오늘 고생의 흔적,, 7일 중 역대급이었다.
다음주에 java 시작하면서부터가 진짜라는데,, 부디 괜찮았으면 좋겠다.