팀원이 올린 코드를 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 |