티스토리 뷰
프로젝트 기간에 들어가기에 앞서 스터디에서 협업 프로젝트 경험하기
우리의 주제는
UrClass Clone
4명이서 각자 맡을 컴포넌트를 나누다 보니 팀 페이지를 추가로 구현하게 되었다.
🐾 협업 프로젝트의 첫 번째 Step
원격 저장소 연결하기
처음엔 내가 사다리타기에 걸려 원격 저장소를 만들어야 했다.
구글링을 하면서 저장소를 생성하고 팀원분들께 권한 부여까지 마쳤는데,,, 지라에서 연결이 안된다,,,!!!
결국 관리자이신 현진님이 원격 저장소를 만들어 권한을 부여해주셨다.
프로젝트에서 사용할 브랜치를 생성하여 연결하기 위해서는
// 브랜치 생성하기
git checkout -b 브랜치명
// 브랜치 이동하기
git checkout 브랜치명
이렇게 잘 진행되나 싶었는데 문제는 끊이지 않는 법!
🚨 원격 저장소의 특정 브랜치 clone하기
내가 겪은 첫 번째 문제는 git push 에러였다.
원인 1) 레포지토리를 fork한 후 내 레포지토리에서 clone함
원인 2) 특정 브랜치에서 clone을 해야하는데 main 브랜치에서 가져옴
프로젝트에서 사용할 브랜치가 따로 있었기 때문에 그냥 clone을 할 경우 main 브랜치에 있는 폴더만 클론이 된다.
✅ Solution
📍 git push 시 non-fast-forward 에러가 뜰 때
먼저, fork로 폴더를 클론했을때 push를 하면 에러메세지가 나왔다.
! [rejected] test-develop-branch-TCTZ-3 -> test-develop-branch-TCTZ-3 (non-fast-forward)
error: failed to push some refs to 'github.com:kijiwon/UcleLupin.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
원인은 로컬 저장소와 원격 저장소가 공통분모가 없는 상태에서 병합하려 했기 때문이였다.
이에 대한 해결방법을 구글링 하던 중 그냥 최신 파일로 덮어씌우는 방법을 알게 되어 사용해보았다.
git push origin +브랜치명
이제 push에 대한 에러는 사라지고 나의 레포지토리에도 적용이 되었다.
하지만 원격 저장소에는 적용이 되지 않았다.
왜?
fork가 아닌 원격 저장소를 clone해야한다.
위에서 말했듯, 바로 clone을 하게되면 main 브랜치만 클론이 되기 때문에 특정 브랜치를 클론해오는 명령어를 입력해야 한다.
git clone --branch <branchname> <remote-repo-url>
//또는
git clone -b <branchname> <remote-repo-url>
이제 해당 브랜치명에 있는 파일들이 클론되었다.
파일을 수정한 후 커밋하여 브랜치에 push해주면 원격 저장소에 적용이 된다!!
'코딩 > 프로젝트' 카테고리의 다른 글
[개인 프로젝트] 투두 다이어리(feat.투두 date 관리하기) (0) | 2023.12.12 |
---|---|
[개인 프로젝트] 투두 다이어리 (feat.Redux-Toolkit으로 여러 개의 상태 관리하기) (0) | 2023.12.11 |
[개인 프로젝트] - Holiday Calendar 리팩토링 (React Query) (0) | 2023.06.02 |
[API활용 프로젝트] - Holiday Calendar (0) | 2023.02.19 |
[개인 프로젝트] - 계산기 구현하기 (0) | 2023.01.24 |