오늘 세션시간에 배운 Git Branch를 정리할려고 한다.
Git은 개발자들이 협업하기에 최적화의 툴이기 때문에 학습을 하고 숙달하여서, 현업에 취직을 했을때 원할하고 능숙하게 쓸수 있게 미리 숙달하는게 좋을것 같다.
현재 개인 프로잭트로 인해서 내가 만든 Git 저장소에 프로젝트를 추가하고 커밋 푸쉬 이것만 해왔었지만. HA3 시험이 끝나고 프로젝트 기간엔 동기분들과 협업을 통해서 프로젝트를 진행을 하려면 Git Branch를 숙달을 해야한다. 그래서 오늘 Sourcetree 라는 Git 툴도 설치를 하였다.
여러 브랜치를 만든 레파지스토리의 Git Graph도 보여주고 커밋 내용도 볼수있어서 정말 편리하다!
이제 공부한 내용을 복습을 해보자!
일단 브랜치 종류로는 통합 브랜치, 피처 브랜치 2가지를 배웠다.
배포될 소스 코드가 기록되는 브랜치이다.
Github Repository를 생성하게 되면 기본적으로 main 브랜치가 생깁니다. (기존 Repository의 경우 master로 되어 있는 곳도 많습니다.)
해당 프로젝트의 모든 기능이 정상적으로 작동하는 상태의 소스코드가 담겨 있습니다.
기능 추가, 버그 수정과 같이 단위 작업을 위한 브랜치 이다.
통합 브랜치로부터 만들어내며, 피처 브랜치에서 하나의 작업이 완료가 되면 다시 통합 브랜치에 병합하는 방식으로 진행이 된다.
새로운 브랜치 생성
$ git branch 새로운 브랜치 이름
새로운 브랜치 생성 후 해당 브랜치로 전환
$ git switch -c 새로운 브랜치 이름
$ git checkout -b 새로운 브랜치 이름
브랜치 목록 확인
$ git branch
브랜치 목록과 각 브랜치의 최근 커밋 확인
$ git branch -v
브랜치 삭제
$ git branch -d 삭제할 브랜치 이름
$ git branch -D 해당 명령어는 병합하지 않은 브랜치를 강제 삭제하는 방법입니다.
브랜치 전환
$ git switch 브랜치 이름
$ git checkout 브랜치 이름
브랜치 병합
$ git checkout master
$ git merge dev
로그에 모든 브랜치를 그래프로 표현
$ git log --branches --graph --decorate
아직 commit 하지 않은 작업을 스택에 임시로 저장
$ git stash
시간이 틈틈이 날때마다 진행하고 있는 클론코딩 프로젝트 이다.
트위터 클론 코딩이다. 노마드코더에서 강의 파일로 나와있는 클론 코딩 프로젝트이다.
사실 지금 세션3를 진행하면서, React에 대해서 다룰 시간이 많지 않아서 프론트 엔드를 준비하는 나로써는 복습과 프로젝트를 진행하기 위해서 구조적인 부분등을 공부할 프로젝트가 필요했다.
그래서 한번에 따라서 코드를 치기 보단, 파트별로 나눠서 구조파악 및 에러 핸들링 등등 구글링을 통해서 에러가 발생할때 처리하는 능력을 기르고 있다.
일단 클론코딩 강의와 다르게 사용하는 툴의 버전들이 업그레이드가 되면서, 프로젝트는 firebase라는 툴로 배포, 데이터 관리 등을 관리하고 있는데 강의의 코드들이 버전이 업그레이드 되기 전에 강의 코드들이라 에러 발생이 잦아 직접 에러사항에 대해서 코드를 수정하고, 핸들링하면서 조금더 에러 처리하는 방법에 대해서 지식을 늘려가고 있다.
일단 사실 주말에 useState, useEffect에 오류가 났었는데 , 에러를 못잡고 끙끙대다 보니 const [tweet, setTweet] 이런식으로 작성을 해야할것을 const {tweet, setTweet}이라고 작성이 되어 useEffect hook 에러가 났었는데, 코드를 꼼꼼하게 살펴보며 에러를 처리하는 시간이 되었다.
또한 firebase import로 연결하는 방식이 바껴서 공식문서 및 Stack OverFlow를 검색하면서 버전에 대한 문법등을 수정하면서 에러를 처리하면서 진행을 하고있다.
아직 반정도 구현을 한것 같다. 일단 트윗에 대한 상태관리 및 수정, 삭제 기능을 구현을 하였다.
프로젝트를 진행하기 전까지 마무리를 하려고 노력중이다!