git push 안되는 문제 드디어 해결! (Pycharm, GitHub)[머리통 터지는 리무의 개발일지]
말 그대로 머리통 터지는 파이참 – 깃허브 연동 문제. 처음이니까 당연히 헷갈리는 거라고 생각하며 열심히 서치, 테스트, 실패, 서치, 테스트, 실패를 거듭한 결과… 드디어 문제를 해결! github repository에 push까지 성공했다.
🗒️Table of Content - 목적: Pycharm에서 Git을 이용해 Github repository에 Push하기 - 문제 1: add . 그리고 git push 오류 - 문제 2: Pycharm 프로젝트 파일이 빨간 색으로 표시됨 - 해결 시도 1: Pycharm 메뉴에서 직접 Commit, Push하기 - 해결 시도 2: fetch first! fetch 진행하기 - 해결 시도 3: git pull (+브랜치 이름 체크하기) - 문제 해결: git push 명령 실행 성공
🤯 목적: Pycharm에서 Git을 이용해 Github repository에 Push하기
최근 기획중인 프로젝트가 있다. 이걸 구현하기 위해서는 파이썬 언어를 사용해야 하는데 내가 원하는 아웃풋을 도출하기 위해서는 내 수준에 맞지 않는 까다로운 과정을 거쳐야 했다. 이때 챗GPT에게 도움을 정말 많이 받았다.
그러나! 또 다시 큰 산이 내 앞을 가로막고 있었으니. 코드를 깃허브액션을 이용해 구동하는 게 최종 목적이었기 때문에, 완성한 파이참 프로젝트를 깃허브에 연동해야 했다. 이 작업을 직접 해보는 건 처음이었기 때문에(깃헙에 그렇게 익숙하지도 않음) 차근차근 서치해가며 단계별로 진행했다.
🤯 문제 1: add . 그리고 git push 오류
Pycharm과 Github를 연동하기 위해서는 Git이 필요하다. Git은 이미 설치된 상태였기 때문에 차근차근 작업을 해줬다. 디렉토리 초기화 해주고 어쩌고저쩌고…(불태웠더니 기억이 잘 안 남)
문제는 자꾸만 add . 와 push 명령어 실행에 실패하는 것이었다. 파이참 터미널 명령어를 통해서 파이참 → 깃허브 repository에 소스를 업로드할 수 있는 모양인데 내가 뭘 잘 못 하고 있는건지 명령을 제대로 실행하지 못하고 소스 업로드도 번번히 실패했다.
🤯 문제 2: Pycharm 프로젝트 파일이 빨간 색으로 표시됨
엎친 데 덮친 격으로, add와 push 문제로 고군분투 하다 정신차려 보니까 파이참 프로젝트의 폴더와 파일명이 붉은색으로 변해있었다. 이때부터 불길한 느낌이 엄습하면서 무서워지기 시작했다. 내가 열심히 완성한 파일들이 잘못되어가는 느낌… ‘빨강’은 본능적으로 위험한 색인 것 같다. 어쨌거나 내가 뭔가를 잘못했기 때문에 꼬여서 이렇게 된 건 분명하므로, 마음을 가다듬고 하나씩 해결해 보기로 했다.
초보자의 한계를 인정하고 수많은 코딩러(?)들의 경험담을 읽으면서 허술한 개념을 탑재해 나갔다. 파이참 → 깃허브로 업로드를 위해서는 기본적으로 commit을 완료해야 하며, 그 다음 push 명령어를 사용해야 비로소 제대로 소스가 업로드 되는 것으로 파악했다. 그래서!! 그 정보를 토대로, 내 맘대로 다른 방식을 시도해보았다.
🤯 해결 시도 1: Pycharm 메뉴에서 직접 Commit, Push하기
터미널에서 내가 뭔가를 잘 못 입력해서 꼬이는 것일 가능성을 고려했다. 파이참 메뉴를 직접 클릭해서 commit 먼저 해보기로 했다. (파이참 커뮤니티 에디션 2023.1.1 버전이므로 인터페이스는 조금 다를 수도 있다)
![git push 안되는 문제 드디어 해결! VCS 메뉴 위치 VCS 메뉴 위치](https://rimu.work/wp-content/uploads/2023/05/VCS-메뉴-위치-1024x1024.webp)
메뉴 → Git → VCS Operation Popup 메뉴를 열어보았다. VCS가 정확히 뭔진 모르지만 이걸 이용해서 깃헙 커밋이나 푸시 관련해서 컨트롤할 수 있다고 해서다.
![git push 안되는 문제 드디어 해결! commit files 버튼 commit files 버튼](https://rimu.work/wp-content/uploads/2023/05/commit-files-버튼.webp)
VCS Operations 팝업을 여니까 이렇게 Git과 관련된 액션들이 모여있는, 마치 리모콘같은 팝업창이 떴다. 내가 하고 싶은 건 커밋이기 때문에 무턱대고 2. Commit Files 메뉴를 클릭했다.
![git push 안되는 문제 드디어 해결! 커밋 화면 1 커밋 화면](https://rimu.work/wp-content/uploads/2023/05/커밋-화면-1.webp)
이렇게… 대충 모든 파일을 전부 체크하고(.gitignore이 왜 두개지ㄷㄷ) 커밋 메시지를 작성한 다음 Commit 버튼을 클릭했다. 그랬더니 완전 간단하게 커밋 성공! files committed라고 메시지가 나온다. 야호! 이처럼 수동으로 커밋(?)을 진행했더니, 무섭게 빨개져있던 내 파일명들이 전부 원래대로 돌아왔다. 속이 시원하다!
![git push 안되는 문제 드디어 해결! push 메뉴 위치 push 메뉴 위치](https://rimu.work/wp-content/uploads/2023/05/push-메뉴-위치-789x1024.webp)
![git push 안되는 문제 드디어 해결! push 팝업 push 팝업](https://rimu.work/wp-content/uploads/2023/05/push-팝업.webp)
자신감이 붙어서 바로 다음 단계를 진행했다. 이번엔 VCS 오퍼레이션 팝업을 열지 않고, Git 메뉴에서 바로 Push를 클릭했다. (이유- 어차피 같은 기능인 것 같아서) 이 기능을 실행하면 Push Commits 팝업이 뜨는데 그냥 그대로 Push 버튼을 클릭했다. 그랬더니 깃허브에 로그인 인증하라고 하길래 인증까지 해줬다.
![git push 안되는 문제 드디어 해결! push failed 에러 메세지 push failed 에러 메세지](https://rimu.work/wp-content/uploads/2023/05/push-failed-에러-메세지-1024x303.webp)
이제 되는 것일까 싶었는데 엄청나게 뻘건 에러가 뜨며 실패!
🤯 해결 시도 2: fetch first! fetch 진행하기
에러 메시지를 살펴보니까 눈에 띄는 항목. push가 거부되었다며 ‘fetch first’라고 적혀 있는 게 보인다. fetch는 백엔드 배울 때 들어본 것 같은데 깃허브 fetch는 사실 뭔지 잘 모른다. 그래도 에러 메시지가 시키니까 실행에 옮겼다.
![git push 안되는 문제 드디어 해결! fetch 메뉴 위치 fetch 메뉴 위치](https://rimu.work/wp-content/uploads/2023/05/fetch-메뉴-위치.webp)
![git push 안되는 문제 드디어 해결! fetch 완료 메시지 fetch 완료 메시지](https://rimu.work/wp-content/uploads/2023/05/fetch-완료-메시지-1024x494.webp)
마찬가지로 Git 메뉴에서 Fetch를 실행해주었다. 그런데… 왠진 모르겠는데 터미널이 난리가 났다. 여튼 fetch 작업은 완료된 것 같으니까 빨간 글씨는 넘어가기로 한다. (!?)
그런데, fetch를 완료했음에도 여전히 push는 에러가 났다.
🤯 해결 시도 3: git pull (+브랜치 이름 체크하기)
마음을 가다듬고 다른 방법을 물색했다. 챗GPT에게 물어보니까 pull 명령어를 먼저 실행한 뒤 push해주면 된다고 한다. 생각해보니 터미널 에러 메세지에도 같은 말이 적혀있었다. 그래서 그 말대로 해보았다. pull 명령어는 아래와 같다.
git pull origin [BranchName]
주의할 점. 난 push, pull 명령어 입력할 때 그냥 무조건 git push origin master << 이건 줄 알았는데 알고 보니까 맨 뒤에는 브랜치 이름이 들어가야 하는 거였다. 내 repository의 브랜치 이름을 보니까 master가 아니라 main이었다!! 정리하면, 만약 브랜치명이 main인 경우 아래처럼 명령어를 입력하면 된다.
git pull origin main
![git push 안되는 문제 드디어 해결! pull 완료 메시지 pull 완료 메시지](https://rimu.work/wp-content/uploads/2023/05/pull-완료-메시지-1024x234.webp)
이거 제대로 된 거 맞나? fatal 메시지 뜨면 그냥 다 잘못된 것처럼 느껴진다 흐흑
🤯 문제 해결: git push 명령 실행 성공
pull이 제대로 된건진 모르겠으나 이어서 push명령어도 실행해보았다.
git push origin main
![git push 안되는 문제 드디어 해결! pycharm pull 명령어 실행 성공 1 pycharm pull 명령어 실행 성공](https://rimu.work/wp-content/uploads/2023/05/pycharm-pull-명령어-실행-성공-1-1024x443.webp)
…..!!!!! 드디어 오류 없이 push 완료 메시지를 받았다. 정말 소스가 업로드 되었는지 확인하기 위해 깃헙에 들어가보았다.
![git push 안되는 문제 드디어 해결! github 소스 업로드 완료된 모습 github 소스 업로드 완료된 모습](https://rimu.work/wp-content/uploads/2023/05/github-소스-업로드-완료된-모습-1024x774.webp)
와!! 이렇게 repository에 파이참 프로젝트 내의 폴더와 파일들이 올라가 있으면 성공이다. 홀가분하다!!
정확히 내 문제가 뭐였는지 되짚어보면, 일단 어떤 이유에서건 ‘commit’이 제대로 안 되어 있었고~ 두번째로는 명령어 입력할 때 branch 이름을 잘못 적은 실수 영향도 치명적이었던 것 같다. 추가로 push 전에 pull을 한 번 해준 것도 해결에 도움이 되었을 수 있겠다.
🍀함께 보면 도움되는 글🍀 파이썬 모듈 import 실패할 때 해결 방법 cron expressions (크론 표현식) 초간단 정리 파이참 터미널 실행 방법 (메뉴 위치, 단축키)
👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏
야호 ~~ 캄사합니다!