본문 바로가기

TIL

git pull 오류

팀원이 올린 코드를 pull 하는 과정에서 에러가 발생했다.

 

  • 에러가 발생한 로컬 터미널 화면
뚜니@Pen-S MINGW64 ~/Desktop/whoareyou (master)
$ git pull origin main
From <github 주소>
 * branch            main       -> FETCH_HEAD
Updating 57e8087..a98c55b
error: Your local changes to the following files would be overwritten by merge:
        index.html
Please commit your changes or stash them before you merge.
Aborting

 

  • 구글링한 결과, stash 명령어로 내 코드를 임시로 다른 장소에 두고 pull 을 한 뒤 git stash pop 으로 저장된 stash 를 다시 적용하려고 했으나 다시 에러가 발생
뚜니@Pen-S MINGW64 ~/Desktop/whoareyou (master)
$ git stash
Saved working directory and index state WIP on master: 57e8087 update firebase 초기 세팅

뚜니@Pen-S MINGW64 ~/Desktop/whoareyou (master)
$ git pull origin main
From <github 주소>
 * branch            main       -> FETCH_HEAD
Updating 57e8087..a98c55b
Fast-forward
 css/index.css  |  25 ++--
 index.html     | 424 +++++++++++++++++++++++++++++----------------------------
 js/firebase.js |  15 +-
 js/top.js      |  32 +++++
 4 files changed, 273 insertions(+), 223 deletions(-)
 create mode 100644 js/top.js

뚜니@Pen-S MINGW64 ~/Desktop/whoareyou (master)
$ git stash pop
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
On branch master
Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
        both modified:   index.html

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        js/comment.js

no changes added to commit (use "git add" and/or "git commit -a")
The stash entry is kept in case you need it again.

 

  • 문제의 원인 

git 쓰는게 많이 미숙하다보니 git add, git commit 을 안한 상태에서 하려고 하다보니 에러가 발생했다.

내 branch 를 생성해서 add, commit 을 하고 pull 을 진행 해야 될 듯 하다.

 

  • 해결방법

branch 개념부터 다시 알아가기 시작하여 기존 폴더는 폐기 후 새로운 폴더에 branch 를 생성하여 해결

내 branch 에서 add, commit 하고 push 및 pull 하기!

//프로젝트 폴더를 새로 생성
뚜니@Pen-S MINGW64 ~/Desktop
$ mkdir project

//목록을 확인해서 폴더가 생성되었는지 확인
뚜니@Pen-S MINGW64 ~/Desktop
$ ls
'~$2020_DistyGuide_5992-2171EN.pptx'   coding4cut/   desktop.ini   Discord.lnk*  'GitHub Desktop.lnk'*  'number game'/   project/   sparta/  'Visual Studio Code.lnk'*   whoareyou/   설하영.jpg   하뚱/

//생성한 폴더로 이동
뚜니@Pen-S MINGW64 ~/Desktop
$ cd project

//코드 복사해오기
뚜니@Pen-S MINGW64 ~/Desktop/project
$ git clone <복사해올 github 주소>
Cloning into 'whoareyou'...
remote: Enumerating objects: 75, done.
remote: Counting objects: 100% (75/75), done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 75 (delta 27), reused 66 (delta 19), pack-reused 0
Receiving objects: 100% (75/75), 6.07 MiB | 331.00 KiB/s, done.
Resolving deltas: 100% (27/27), done.

//원격에 있는 파일을 잘 가져왔는지 확인
뚜니@Pen-S MINGW64 ~/Desktop/project
$ ls
whoareyou/

//상세정보 보기
뚜니@Pen-S MINGW64 ~/Desktop/project
$ ls -al
total 8
drwxr-xr-x 1 뚜니 197121 0  7월 16 14:54 ./
drwxr-xr-x 1 뚜니 197121 0  7월 16 14:53 ../
drwxr-xr-x 1 뚜니 197121 0  7월 16 14:54 whoareyou/

//원격에서 가져온 폴더로 이동
뚜니@Pen-S MINGW64 ~/Desktop/project
$ cd whoareyou/

//새로운 브랜치를 생성해서 이동
뚜니@Pen-S MINGW64 ~/Desktop/project/whoareyou (main)
$ git checkout -b hayoung
Switched to a new branch 'hayoung'

//원격저장소에 새로 생성한 브랜치 연결
뚜니@Pen-S MINGW64 ~/Desktop/project/whoareyou (hayoung)
$ git push origin hayoung
info: please complete authentication in your browser...
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: 
remote: Create a pull request for 'hayoung' on GitHub by visiting:
remote:      <연결된 github 주소>/pull/new/hayoung
remote:
To <연결된 github 주소>
 * [new branch]      hayoung -> hayoung

 

🫠 느낀점
git & github 을 갓 시작한 미니 프로젝트에서 처음 제대로 써보게 되었고 branch 개념을 너무 모르는 상태였다.

혼자 해보다가 많이 어려워서 튜터님을 찾아가 해결했는데 이해하기 쉽도록 알려주셔서 좋았고, 추가로 진행된 관련 강의에서 많이 이해할 수 있게 되어서 좋았다.

배웠던 내용을 여러번 복습 해야겠다는 생각이 들었고, 앞으로도 계속 끙끙 앓을 일이 많겠지만 향후에는 문제를 스스로 해결할 수 있는 개발자가 될 수 있도록 노력해야겠다.

'TIL' 카테고리의 다른 글

git & github - push / pull / branch 생성  (0) 2024.07.18
CRUD 개념  (0) 2024.07.17
Git & Github  (1) 2024.07.15
숫자 기억 게임 만들기  (0) 2024.07.11
Random number (난수 만들기)  (0) 2024.07.02