[24.07.31-24.08.01] 팀프로젝트 1, 2일차 (부제: 정말 다양한 깃오류들..)

팀프로젝트가 시작됐다! 어떤 주제일지 궁금했는데 화요일까지 진행했던 개인프로젝트를 팀에서 하나 선정해 디벨롭시키는 것이 과제였다. 어떤 기능들을 추가로 구현할지, 어떻게 구현할지 정리하며 회의를 정말정말 오래 했다.

 

구현 기능 + 와이어프레임 회의

왓챠 넷플릭스 티빙 등등 여러 레퍼런스들을 참고해가면서 와이어프레임을 짰다.

엄청 뭐가 많고 이것저것 있었는데 ㅋㅋㅋㅋ 피그마 고수 팀원분이 계셔서 깔끔하게 정리해주셨다 짱 ㅎㅎㅎ

 

이야기를 나누다보니 팀원들 모두가 한번도 구현해보지 않은 기능을 손대게 되었다. 욕심이 나면서도 걱정되는 분위기였어서 조금 정리를 하기위해 내가 이야기한 기능들과 우선순위를 정리하고 확인을 요청드렸다. 또 구현할 기능 이야기를 하면서 api에서 특정 정보를 가져오는 것이 가능한지 이야기를 나눴었는데, 테스트해보고 어떻게 할 수 있는지도 정리해서 문서로 공유드렸다.

칭찬받으려고 한 행동은 아니지만.. 후에 튜터님이 잘한 점으로 두가지 모두 콕집어서 언급해주셔서 조금 뿌듯했다..ㅎㅎㅎ

 

내 담당 + 공통부분 레이아웃 구성

그리고 내가 맡은 페이지의 레이아웃을 구성하고, 모든 페이지에 공통으로 적용될 header 부분에 css를 쉽게 적용할 수 있도록 설정하여 모두에게 공유드렸다!

(타이틀 로고 부분, 버튼 영역 두 영역으로 나누어 flex로 배치하고 버튼영역에 자식요소로 페이지별 필요한 버튼을 넣기만 하면 되도록)

 

 

다같이 깃을 붙잡고...

이튿날 아침 팀장님의 첫 push로 다같이 pull request~pull까지 해보기로 했다. 그렇게 우리팀은 두시간동안 온갖 깃 오류를 접하게된다..

 

not a git repository ~~

fatal: not a git repository (or any of the parent directories): .git

git repository가 존재하지 않는다는 메세지가 떴다! 클론 후 깃을 사용하는 경로를 헷갈려하는 분들이 많아서 pwd와 ls로 파일 위치 확인을 부탁드렸다. 알고보니 레포지토리보다 상위 폴더에서 명령어를 사용하려해서 발생하는 오류였다. 경로 이동 후 깃 명령어를 사용했다.

 

is outside repository at

Git: fatal: is outside repository at

터미널에서 commit할 때는 문제가 없었는데 vs code의 GUI로 깃을 사용하려하니 위와같은 오류가 생기는 분이 계셨다.

파일 경로에 한글이 포함된 것이 문제였다! 폴더명을 모두 영어로 바꿔주었더니 한방에 해결됐다

 

couldn't find that repository

we couldn't find that repository.

팀장님의 레퍼지토리 초대를 확인하던 팀원분이 이메일을 통해 초대링크로 들어갔을 때 확인한 에러메세지다.

레퍼지토리를 찾을 수 없다하여 처음엔 초대링크가 만료됐나? 했는데 검색해보니 실제로 사용하려는 깃허브 계정과 다른 계정으로 초대링크에 접속했을 때 발생하는 오류 같다. 사용하려는 계정의 이메일을 확인하는 법을 팀장님이 공유해주셔서 그 계정으로 전송된 이메일 확인을 부탁드렸다.

 

git push 취소하기

팀원분이 push한 내용을 보는데, push한 팀원분이 수정한 것이 아닌 많은 파일들이 올라와있는 것을 발견했다. 이전 커밋과 비교해보니 내용은 다르지않고 문자의 정렬만 바껴있는 것 같아 확인해보니 prettier가 아닌 다른 설정으로 문서 기본 포맷이 설정되어있어서 전부 변경사항으로 커밋된 것 같다. 설정을 도와드리고 커밋할 때 변경사항을 꼭 확인하자고 모두와 약속했다!

 

마지막으로 push한 커밋만 지워주면 되는 비교적 간단한 상황이라 hard reset을 사용했다.

git reset --hard {commit id}
git push -f origin {push 할 branch}

git log로 돌아갈 시점의 커밋 id를 확인해서 지정해주고, 강제로 push 해준다.

 

already up to date

분명 커밋도 했고 수정사항이 있는데 push를 시도하니 이미 최신버전이라는 안내가 나왔다. 알고보니 팀원분께서 pull request 후 dev (merge된 브랜치)에서 작업할 브랜치로 이동하지 않고 작업하여 생기는 오류였다. (즉 커밋을 dev에 한 것)

우리가 필요한 동작은 다음과 같았다.

1) dev 브랜치 커밋 취소

2) 그 변경사항을 그대로 들고 작업할 브랜치로 이동

3) 작업할 브랜치에 변경사항 커밋

 

git reset --soft HEAD~1
git switch {작업할 브랜치}
git add .
git commit -m "커밋메세지"
git push

위와 같이 해결하면 된다!

커밋 내역을 아예 삭제하는게 아니라 보존이 필요하므로 --soft 옵션으로 reset, 그대로 작업할 브랜치로 이동해서 다시 커밋/푸시 해준다

끝!

 

이외에도 충돌도 해결하고.. 다사다난했는데 정리하고나니까 간단해보이는 느낌.. 나도 매일 사용하는 것만 써봤지 이렇게 오류를 많이 보진 못했었는데 이제 오류가 나도 나름.. 침착하게 대응할 수 있을 것 같다!