<git 다시 또 만난 트러블>

강민수·2021년 12월 28일
0

진실의 방

목록 보기
21/26

우리의 첫 프로젝트의
힘든 첫 여정이 시작되었던 어제.

생각보다 빨리 끝날줄 알았던 초기셋팅....

하지만 그 어떤 코딩보다 이런 초기셋팅이 어려울 줄은 그땐 몰랐다....

01. 우리가 마주한 첫 번째 트러블...

01) 사건의 발단

깃.... 또 깃....

우리가 마주한 첫 번째 트러블은 바로 깃이었다. 개발자 협업 도구에 있어서
필수불가결한 그것.

하지만 때로는 이게 꼬일대로 꼬이면 답도 없이 꼬이곤 마는데...

나와 팀원 한 명이 프론트엔드를 맡아서 초기셋팅을 진행하던 중, 거의 모든 진행이 마무리 되어 백엔드 팀원들과 함께 라우트 논의를 시작했다.

여기까지는 무리가 없었고. 그 뒤에 해당 cra 셋팅을 마친 폴더를 원격 저장소에 커밋을 날리고 메인 레포에 푸쉬를 날렸는데....

필자는 직감했다... 아!

이거 백프로 원격 저장소에서 에러났구나...!

02) 원인 분석

그래서 곰곰이 따져 봤다. 먼저, 뭐가 문제일까 고민을 해 봤다.

팀원들과 여러 논의 끝에 필자는 이게 이 파일 이전에 기존 리모트 시켜 놓은 것이 있어서 그것과의 연동이 된 채로 추가로 푸쉬를 하기 때문에 오류가 나는 것이라고 판단했다.

03) 해결 과정

그래서 해결하기 위해 여러 가지 절차를 진행했다. 사실 이러면서 많은 시간을 소모했다. 필자 역시도 문제의 원인은 직감했지만, 저번에 깃에게 된 통 당한 후, 두려움도 컸기에... 이렇게 해보자는 명확한 답을 가지고는 있지 않았다.

그래서 일단 본 파일을 살려야 된다고 판단하고,

여러 명령어를 입력해 봤다. 서칭 중에 깃 리모트를 초기화하면 되지 않을까 싶어

1) 깃 리모트 초기화 진행.

위와 같이 진행해서 리모트 초기화 시킨 후,

git init
git add.
git commit "first commit"
git push origin master에 했으나....

결과는 또 동일한 오류.....

이게 문제가 아니었다... 말짱 도루묵... ㅜㅜ

2) 폴더 변경

우리는 다시 폴더만 변경해서 해당 파일들만 옮긴 후에 푸쉬하면 괜찮지 않을까 싶었다.

그래서 폴더를 옮긴 후, 파일을 복붙하고 동일하게
git init
git add.
git commit "first commit"
git push origin master에 했으나....

또 오류....ㅜㅜ 도대체 문제가 뭔가 싶었고, 팀원들 역시 짜증과 울분이 섞인 말들이 나왔다.

그래서 어떤 팀원은 차라리 이거 파일 자체를 cra를 다시 받아서 새로 만드는 게 낫지 않냐는 말도 나왔다.

하지만, 내 생각은 조금 달랐다.

"이게 사실... cra를 다시 해서 만든다고 원격 레포지토리 오류가 나는 것의 근본 해결책은 아닐텐데... 뭔가 다른 방법이 필요해..."

그러던 중 뭔가 서칭 중 번뜩였다.

3) 마지막 보루

그래서 마지막으로 이렇게만 해보고 정 안되면 멘토분들에게 레포 다시 파달라고 해보자고 설득했다.

그 방법은 이렇다.

1. 로컬에 존재하는 .git 디렉토리를 삭제한다.

rm -rf ./.git

2. git init을 다시 수행하여 초기화 시킨다.

git init
결과메시지
/www/.git/ 안의 빈 깃 저장소를 다시 초기화했습니다

3. 현재 상태로 커밋을 진행한다.

git add .
git commit -m '커밋 코멘트'

4. 원격 저장소를 연결해준다.

git remote add origin

잘 되었는지 확인해준다.
git remote -v
origin Git-Address (fetch)
origin Git-Address (push)

5. 현재 상태를 원격저장소에 적용시킨다.

git push --force --set-upstream origin master

결론적으로 정상적으로 해결이 되었다.

📌정리해 보자면, 결국 원격 리모트에 연결된 기존의 리모트는 이미 연결이 되어 있다면, 단순히 remove하는 정도로 끝나지 않는다. 즉, .git파일 자체를 아예 삭제 해주는 것이 필요하다. 왜냐하면, 한 번 저렇게 연동된 깃 파일은 숨김파일이기 때문이다. 그래서 저렇게 아예 해당 파일을 완전히 삭제시켜야 기존 연동 된 것이 끊기고 새로운 연동이 가능하다.

02. 느낀 점.

이렇게 사소한 것 하나 조차 어찌보면 협업의 과정에서는 크게 작용하는 것 같다. 우리가 사소하게 지나칠 수 있는 오류가 협업 과정에서도 앞으로 분명 더 많이 눈더미처럼 굴러올 수 있다. 그때마다 그냥 넘어가지 말고 이런 부분을 조금 더 우리의 힘으로 풀어갈 수 있도록 해야겠다. 어떻게든 해결하다 보면 언젠가 이런 경험이 결국 나와 우리 팀원 모두의 자산이 될 테니까~

profile
개발도 예능처럼 재미지게~

0개의 댓글