1.28 project setting

hun2__2·2022년 1월 28일
0

Have a fruitful vacation

목록 보기
23/24

저번학기때 공부한 workflow를 적용해서 개발해보기로 했다.

git flow setting

gitflow를 사용해서 개발해보자!

먼저 WSL에서 gitflow을 설치해준다.
sudo apt-get instll git-flow

gitflow을 사용할 곳에 디렉토리에서 git flow로 브랜치들을 생성해준다.
git flow init || git flow init -d

각 브랜치들의 이름을 정해준다 (enter치면 기본값 대입)

이제 각각의 브랜치 사용법 방법을 알아보자

feature

브랜치 생성

git flow [브랜치종류] start [브랜치 이름]
을 사용해서 해당 브랜치가 생기며 자동 checkout된다.

ex) git flow feature start social_log_in

브랜치 merge + 삭제

해당 feature 브랜치에서 작업이 완료되면 git add . git commit 을 해준 후

git flow [브랜치종류] finish [브랜치 이름]
를 사용하면 dev 브랜치로 merge가 되고 해당 feature브랜치는 삭제된다.

브랜치 push/pull

여러명의 개발자가 협업 중이라면 feature 브랜치를 origin 레포지토리로 push한 후 PR을 해야한다. 그러기 위해 local 브랜치와 push/pull을 해줘야 하므로
git flow [브랜치종류] publish <브랜치 이름>
로 push 해 줄 수 있고
git flow [브랜치종류] pull <브랜치 이름>
로 pull 해 줄 수 있다.

여기부터는 아직 안 써봐서 쓰게되면 다시 정리해봐야겠다.

release

브랜치 생성

git flow [브랜치 종류] start <version>
을 사용해서 생성하고

git flow [브랜치 종류] finish <version>
를 사용해서 main브랜치에 merge후 release 브랜치 삭제해주고
추가로 release 버전을 태그로 생성한다.

git flow [브랜치 종류] publiush <version>
로 origin 레포에 push하고

git flow [브랜치 종류] track <version>
으로 origin 레포에 있는 것을 pull 해올 수 있다.

main

새로운 release가 포함된 main 브랜치를 origin 레포에 태그들과 함께 push한다

git push --tags

hot fix

동일하게

생성

git flow [브랜치 종류] start <version>
을 사용해서 생성해주고

merge + tag + 삭제
git flow [브랜치 종류] finish <version>

를 사용해서 main 브랜치에 merge 후 태그를 생성해주고
dev 브랜치에도 merge 후 삭제된다
(main, dev 총 두 브랜치에 merge됨)

( 참고 :
https://soft.plusblog.co.kr/20,
https://jeffkreeftmeijer.com/git-flow/,
https://www.youtube.com/watch?v=VY8K9FguM-E,
https://gist.github.com/ihoneymon/a28138ee5309c73e94f9
)

cf) 각 브랜치들의 의미
main : 베포되는 브랜치
dev : 다음 릴리즈를 위해 기능들을 merge하는 가장 최신 개발 브랜치
feature : 기능 개발하는 브랜치 (dev에서 파생)
release : 릴리즈 하기전에 QA(품질검사)를 하는 브랜치
hotfix : 베포중 버그가 생겨 긴급 수정할 때 필요한 브랜치
support : 버전 호환성 문제를 위한 브랜치


firebase setting

로그인/ 회원가입/ 소셜로그인/ DB를 구현하기 위해 firebase를 사용할 것이다.

firebase와 firebase-tools를 isntall해준다.
npm install firebase
curl -sL https://firebase.tools | bash

그다음 firebase login을 해주고

firebase init 을 이용해서 어떤 기능을 사용할지 체크해준다.

그리고 이것저것 물어보는데 잘 대답해준다.
(나중에 firebas init 을 통해서 제품을 추가해줄 수 있다)

그리고 파이어베이스 -> 프로젝트 개요 -> 설정 -> 에서 웹 앱으로 추가해준다.

여기나온 SDK를 firebase.tsx라는 새로운 파일에 넣어주고
각 value들을 .env에 넣어 비밀키로 만들어준다.
(react에서 비밀키를 만들때는 REACTAPP을 이름앞에 붙여줘야한다.)

그리고 다시 firebase에서 process.env.<비밀키이름> 으로 넣어준다.

로그인 방법으로 이메이+pw / google / github를 사용할 것이므로 각각 셋팅해준다.

TS 설정

각 패키지들에 대한 @types를 설치해준다 (이건 뭐...)

그리고 TS도 절대경로를 설정해줄 것이다.

먼저 tsconfig.json에 baseUrl과 paths를 설정해준다.

"compilerOptions": {
	
    ...
    
    "baseUrl": ".",
    "paths": {
      "@src/*": ["src/*"]
    }
}

하지만 eslint은 @src를 잘못된 경로로 판단하기 떄문에 eslint에도 절대경로를 알려줘야한다.

자... 점점 설치하는게 많아지지만 하나씩 차근차근해보자

먼저 eslint을 설치해주고 설정해준다
npm install -D eslint
npx eslint --init

잘 읽어보고 설정한 후 추가로 몇개 플로그인을 더 설치해준다.

ps.
하... 오늘 긱사떨어져서 예상치못하게 학교 자취방을 구하러 돌아다니게 되었다...
내일까지 공부도 제대로 못하겠네ㅜㅜ 내일 과외 마지막날인데 잘 마무리하고 재현이랑 학교쪽 마저 돌아다니며 이번 주말까지 방 구하는것을 마무리 해봐야겠다
이렇게 또 공부가 미뤄지는구나ㅠㅠ 설정하다보니 할게 많다... 그리고 모르는 것도 많다... 많이 배워야겠다ㅠ

profile
과정을 적는 곳

0개의 댓글