<22.04.25> GIT 사용 중 add 관련 / failed to push some refs to 오류 해결
GIT을 사용하여 로컬 저장소에 폴더를 추가한 후 변경사항을 원격 저장소에 push하기 위해 add - commit 과정을 거쳤다. 그런데 커밋까지 하고 난 뒤 생각해보니, 원격 저장소에는 올리면 안되는 파일까지 add해 버려 곧바로 로컬 저장소에 있는 파일 몇 개를 삭제했다. 그러고 push를 하기 전 잠깐 생각이 들었는데, 새로 파일을 추가한 경우에는 add를 한번 더 해주면 될 것 같은데 stage에 올린 파일을 로컬 저장소에서 지워버렸으니, 이럴 때는 어떻게 해야하나 싶었다.
git status로 상태를 확인해보았는데, 내가 로컬 저장소에서 직접 삭제했던 파일들의 목록이 표기된다. 그리고 git add/rm <file>을 통해 커밋할 내용을 업데이트하거나, git restore를 사용하여 로컬 저장소 내 변화를 폐기하라는 안내문구가 뜬다.
이후 곧바로 파일이 추가되지는 않았지만, 변경사항을 stage에 올리기 위해 git add ./practice3/ 명령어를 입력하였고 commit -m 명령어를 통해 commit을 진행했다.
로컬 저장소에서 지웠던 파일들에 대한 변경사항이 출력되고 메세지와 함께 정상적으로 커밋이 완료되었다. stage에 파일을 추가하고 commit까지 완료한 후, 로컬 저장소에서 파일을 건드렸을 경우, add 명령어를 통해 다시한번 변경된 파일을 갱신해주고 stage에 올려주면 된다.
그런데, push를 해주려고 보니..
증~~~말 섕짜증이 났다. git에서 오류가 날 때만큼 생짜증이 나지 않는 경우가 없다... 사실 오류를 맞닥드렸을 때 오류 구문을 대충 읽고 바로 구글링해서 문제를 해결하긴 했는데... 지금 제대로 읽어보니 이해가 된다.
원격 저장소에서 내가 추가적으로 변경한 사항이 있으니 push 하기 전에 pull 먼저 해서 원격 저장소에서 업데이트된 내용을 반영해라.. 라는 의미이다.
git pull origin master 명령어를 사용하여 원격 저장소에서의 변경사항을 로컬 저장소로 최신화시켰다. 그 결과 README.md 파일을 수정했다는 내역이 등장했다. 생각해보니 여태까지 원격 저장소에 작업물을 push하고 나서 README 파일을 수정했었다.. 원격 저장소에 변경 사항이 일어났으니 로컬 저장소에도 알려줘야 했었다.. 그렇구나... 드디어 깨달았다.. 이런 나 자신을 보니 허파 히뜩 뒤집어진다...
push 성공~
github는 마법과도 같은 도구이지만, 사용자가 관심을 가지지 않으면 정말 사용하기 힘든 도구란 것을 깨달았다.. 오늘도 GIT의 기본중의 기본을 배웠다.