나는 git을 사용하는 클라이언트로 소스트리를 사용하고 있다. 지금까지 아무 문제 없이 잘 사용하고 있었는데, 어느 날 갑자기 예고도 없이 소스트리가 망가져버렸다!
프로그램을 실행하면 로고까지는 출력되는데 정작 소스트리가 켜지지 않는 것이다. 일시적인 문제로 실행은 안됬지만 윈도우 프로세스에 걸려있나 싶어서 확인도 해봤고, 컴퓨터를 재실행해봤음에도 해결이 되지 않았다.
남은 건 삭제 후 재설치 밖에 없는데, 문제는 내가 이미 한 차례 코드를 수정해버린 상태라는 것! 지금까지 아무 문제가 없었으니 소스트리가 잘 실행되었는지 확인하지 않고 작업을 진행해버렸다. ㅠㅜ..
수정 사항이 반영되지 않은 상태에서 소스트리를 삭제하고 다시 설치하게 되면 git을 클론한다고 해도 수정 사항을 제대로 감지할 수 있는지 의문이었고, 고민 끝에 일단 git bash를 이용해서 수동으로 커밋과 푸쉬를 진행하기로 했다.
사실 지금까지 강의 영상 등을 보면 많은 경우에는 git을 사용할 때 git bash를 이용해서 수동으로 작업을 진행하는 분들을 많이 봤었다. 소스트리 같은 걸 쓰지 않고 직접 진행하는게 진짜라고 하는 말도 들었었는데, 소스트리가 잘 되니까 별로 신경쓰지 않고 있었던 과거의 나를 원망하게 되었다.
첫 번째 문제. 일단 git bash로 내 작업물 경로로 진입해야 하는데 경로를 인식하지 못한다.. 하드 드라이브까지는 이동되는데, 그 이후가 안된다. 폴더 경로를 복사-붙여넣기로 집어넣었는데도 인식을 못한다.
이 시점에서 머리에 열이 상당히 올랐는데, 고민 끝에 다른 방법을 찾았다. VScode의 터미널 설정에 git bash를 추가한 다음 VScode로 폴더 경로로 진입한 다음, 거기서 git bash를 실행시켜보았다. 다행스럽게도 잘 된다!
git status로 수정사항이 제대로 인식되는지 확인해보니 잘 인식되고 있다.
git add .로 모든 파일을 스테이지에 올린다.
git commit -m "메시지내용"으로 커밋한다.
git push origin master.. 푸쉬가 안된다!
왜 안되니.. 여기저기 알아보니 일단 git에 업로드 된 파일과 내 로컬 저장소의 파일이 일치하지 않아 문제가 발생할 가능성이 원인으로 떠올랐다.
그렇다면 git pull origin master로 원격저장소의 파일을 로컬로 가져온..
???? 이것도 안된다?
시간이 급한데 되는게 없으니 미칠 것 같다. 뭐가 문제인지 알 수도 없고 이렇게 안되는건 찾은 자료에서도 없는 경우였으니 머리가 아파오기 시작한다.
그렇게 한동안 원인을 찾는데 노력을 집중했고, 곧 내가 어처구니 없는 실수를 저질렀다는걸 깨달았다.
git의 브랜치 이름이 다르잖아..
내 git 브랜치 이름은 main. 그런데 수동 작업을 위해 찾아본 자료에서는 브랜치 이름이 master로 되어 있었다. 내 브랜치 이름도 master라고 착각하고 이걸 그대로 복사-붙여넣기해서 git bash에 입력하고 있던 것이다.
git push origin main로 다시 푸쉬를 시도해준다.
푸쉬까지 정상적으로 실행되었다!
git status로 확인해보니 반영되지 않은 수정사항도 없다! 수동 작업 완료!