site_logo

git push 안되는 문제 드디어 해결!

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에게 도움을 정말 많이 받았다.

(내가 원하는 액션을 구현하는 데 성공한 어젯밤 뽕에 차서 쓴 글… 챗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 버전이므로 인터페이스는 조금 다를 수도 있다)

VCS 메뉴 위치

메뉴 → Git → VCS Operation Popup 메뉴를 열어보았다. VCS가 정확히 뭔진 모르지만 이걸 이용해서 깃헙 커밋이나 푸시 관련해서 컨트롤할 수 있다고 해서다.

commit files 버튼

VCS Operations 팝업을 여니까 이렇게 Git과 관련된 액션들이 모여있는, 마치 리모콘같은 팝업창이 떴다. 내가 하고 싶은 건 커밋이기 때문에 무턱대고 2. Commit Files 메뉴를 클릭했다.

커밋 화면

이렇게… 대충 모든 파일을 전부 체크하고(.gitignore이 왜 두개지ㄷㄷ) 커밋 메시지를 작성한 다음 Commit 버튼을 클릭했다. 그랬더니 완전 간단하게 커밋 성공! files committed라고 메시지가 나온다. 야호! 이처럼 수동으로 커밋(?)을 진행했더니, 무섭게 빨개져있던 내 파일명들이 전부 원래대로 돌아왔다. 속이 시원하다!

자신감이 붙어서 바로 다음 단계를 진행했다. 이번엔 VCS 오퍼레이션 팝업을 열지 않고, Git 메뉴에서 바로 Push를 클릭했다. (이유- 어차피 같은 기능인 것 같아서) 이 기능을 실행하면 Push Commits 팝업이 뜨는데 그냥 그대로 Push 버튼을 클릭했다. 그랬더니 깃허브에 로그인 인증하라고 하길래 인증까지 해줬다.

push failed 에러 메세지

이제 되는 것일까 싶었는데 엄청나게 뻘건 에러가 뜨며 실패!

🤯 해결 시도 2: fetch first! fetch 진행하기

에러 메시지를 살펴보니까 눈에 띄는 항목. push가 거부되었다며 ‘fetch first’라고 적혀 있는 게 보인다. fetch는 백엔드 배울 때 들어본 것 같은데 깃허브 fetch는 사실 뭔지 잘 모른다. 그래도 에러 메시지가 시키니까 실행에 옮겼다.

fetch 메뉴 위치
fetch 완료 메시지

마찬가지로 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
pull 완료 메시지

이거 제대로 된 거 맞나? fatal 메시지 뜨면 그냥 다 잘못된 것처럼 느껴진다 흐흑

🤯 문제 해결: git push 명령 실행 성공

pull이 제대로 된건진 모르겠으나 이어서 push명령어도 실행해보았다.

git push origin main
pycharm pull 명령어 실행 성공

…..!!!!! 드디어 오류 없이 push 완료 메시지를 받았다. 정말 소스가 업로드 되었는지 확인하기 위해 깃헙에 들어가보았다.

github 소스 업로드 완료된 모습

와!! 이렇게 repository에 파이참 프로젝트 내의 폴더와 파일들이 올라가 있으면 성공이다. 홀가분하다!!

정확히 내 문제가 뭐였는지 되짚어보면, 일단 어떤 이유에서건 ‘commit’이 제대로 안 되어 있었고~ 두번째로는 명령어 입력할 때 branch 이름을 잘못 적은 실수 영향도 치명적이었던 것 같다. 추가로 push 전에 pull을 한 번 해준 것도 해결에 도움이 되었을 수 있겠다.

🍀함께 보면 도움되는 글🍀
파이썬 모듈 import 실패할 때 해결 방법
cron expressions (크론 표현식) 초간단 정리
파이참 터미널 실행 방법 (메뉴 위치, 단축키)

“git push 안되는 문제 드디어 해결!”의 2개의 댓글

  1. 👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top
yellow-solid

Social Media

Blog