늦게 적는 1,2일차 프로젝트 이야기
팀이 결정되고 금요일, 모두 모여 팀 이름, 주제, 담당 포지션을 정하였고
팀 규칙을 정했다.
팀 규칙
1. 매일 오전 10시 회의 및 스크럼(30분 이상)
2. 소통과 일 얘기는 디스코드/슬래긍로
3. 10시부터 22시까지는 연락 빨리 잘 되도록 노력하기
4. 주석 자세히 쓰기 / 브랜치명 규칙 정하기
5. 커밋 자주 하기
6. 매주 수요일 오후 2시 오프라인 모이기 (거리가 멀면 디스코드 참여)
7. 모르는건 언제든지 물어보고 검색해보기 피드백 해주기
다 적진 않았고 다들 당연하고 또 중요하게 생각하는 것들을 추려서 적어보았다.
그리고 사소한게 제일 중요한거라고 생각한다.
팀에서 다들 중요시여겨서 여러번 말씀을 하셨던 점 하나는
7. 모르는건 언제든지 물어보고 검색해보기 피드백 해주기
였다. 그 뒤 코치님들도 말씀하시길 안되는걸 끝까지 붙잡고 있기보다 빨리 도움을 요청하고 내가 못하는건 말을 해서 빨리 해결하는게 좋다고 하셨다.
해당 프로젝트는 물건을 주문하여 배송할 수 있는 쇼핑몰의 형태로 제작해야 했다. 자율 주제로 쇼핑몰 웹서비스의 확장 및 고도화를 잡았고 기능을 중심으로 하였다.
월요일은 gitlab을 쓰기 위해 git 특강이 열렸다.
git 사용법
git pull "원격 레포 http 주소"
pull하여 레포를 가져왔다면 branch 목록을 확인하는 명령어인 git branch 를 입력하여
원격 레포와 연결된 master branch가 생성되어 있는 것을 볼 수 있다.
2. git branch "만들 branch 이름"
branch가 master에 위치하고 있다면 새로운 branch를 생성하여야 한다.
git branch "만들 branch 이름"
git checkout 명령어를 사용하여 생성한 branch와 master branch를 왔다갔다 할 수 있다.
git checkout "branch 이름"
생성한 branch에서 파일을 수정, 삭제, 추가하더라도 병합을 하기 전까지는 master branch에 아무런 영향을 주지 않는다. 때문에 데이터 손실을 걱정할 필요가 없다.
branch에서 작업한 내용을 master에 병합을 하기 위해서는 깃허브에서 add, commit 한 것과 같이 branch의 변경 사항을 업데이트 해 주어야 한다.
# 파일 상태 체크
git status
# 특정 파일만 add 할 때
git add "파일명"
# 모든 파일을 add 할 때
git add -A
# 커밋
git commit -m "커밋 메세지"
생성한 branch에서의 작업을 모두 커밋했다면 다시 master branch로 돌아와 작업을 진행했던 branch와 병합을 해 주어야 한다.
# master branch로 돌아가기
git checkout master
# 작업을 진행한 branch를 master에 병합하기
git merge "병합할 branch 이름"
# 원격 레포에 push
git push origin "병합한 branch 이름"
branch의 변경 사항을 master에서 병합을 했다면 원격 레포에 push를 해주면
branch의 작업 내용이 반영된 채로 원격 레포에 커밋이 된다.
6. gitlab Merge Request
이후 gitlab 프로젝트에서 로컬에서 생성한 branch가 생성된 것을 볼 수 있다.
내가 로컬에서 생성하고 작업한 branch의 작업 내용만 커밋하여 push한 것이기 때문에 프로젝트 master의 branch에는 전혀 영향을 주지 않는다. 따라서 협업을 진행할 땐 팀원이 진행한 branch의 내용을 master에 병합을 할 필요가 있다.
이는 gitlab Merge Request를 사용하면 된다
특정 branch만 clone하고 싶을 때
git clone -b "clone할 branch 이름" --single-branch "레포 hppts 주소"
특정 branch만 pull 할 때
git pull origin "pull할 branch 이름"