*https://github.com/angular/angular : reference에 가까운 문서이므로 참고해보자.
License : 오픈소스 라이브러리, 프로젝트에 작성, 자칫 잘못하면 오픈되지 않은 소스인데 사용했다가 돈을 내거나 내 소스가 전부 공개되는 현상이 일어난다.
고로 License를 잘 확인해 봐야 한다. 보통 MIT License를 사용하며
★GPL이 있는지 잘 확인하자. 사용하고 보니 GPL에 있는 코드면 법정 소송으로 가야한다..
.gitignore : github에 올리지 않아도 되는 (cash파일, 공통파일, 용량이 큰 파일) 파일들을 무시하는 역할이다.
vi .gitignore로 들어가서 index.* 등등을 작성 하고 git status를 이용하여 확인해보면 gitignore에 입력된 해당 파일들은 git add
시 대상에 포함되지 않게 된다.
위의 3가지를 확인하고 생성을 한 뒤 dev에서 내계정.github.io를 git clone을 한다.
이후 README.md 수정 및 index.html작성 후 add commit 작업을 한다.
git push origin main
이후 내계정 이름.github.io를 url로 입력 시 index.html 화면이 나오게 된다.
node.js.org 에 접속하여 LT버전을 다운 받아 실행시킨다.
다운 받은 이후 터미널로 가서 npm -v
, node -v
로 설치가 됐는지 확인한다.
이후 Github 블로그 폴더로 이동하여 hexo를 설치한다.
npm install -g hexo-cli
설치가 완료됐으면 hexo
를 입력하여 확인한다.
★hexo명령은 congit.yml이 있는 곳 에서 해야 한다.
dev로 돌아가서 hexo init ghblog
를 실행한다.
ghblog로 들어가서 npm install
, npm -v
으로 확인한다.
hexo new post "My first post" vi source/_posts/My-first-post.md
이후 vi My-first-post.md
로 vim을 편집을 하여
내용을 작성한다.
작성이 완료 되었으면 hexo server
를 입력 후 나오게 되는 localhost로 접속을 하여
코드대로 화면이 잘 나오는지 확인을 한다.
해당 작업을 종료하고 싶다면 ctrl + c 로 종료가 가능하다.
이후 vi _config.yml
로 들어가 숫자를 입력하면 해당 줄로 이동하게 되는데
100을 입력하여 #Deployment가 있는 곳으로 이동하자.
아래와 같이 수정을 한 뒤 저장해주자.
deploy:
type: git
repo: 나의 깃허브블로그 repository주소(clone주소)
branch: main
npm install hexo-deployer-git --save
를 해주고
hexo clean && hexo deploy
를 해주면 localhost로 접속하여 확인할 수 있다.
Next 테마적용을 해보자. 먼저 npm install hexo-theme-next
을 입력하고 이후 vi _config.yml
에서 작업을 진행하면 된다.
Extensions의 theme의 landscape를 next로 바꿔준다.
이후 hexo clean && hexo deploy
를 입력하면 NEXT TTAG가 그려진다면 잘 진행한 것이다.
hexo clean && hexo deploy
는 public folder, database를 지우고 다시 deploy절차를 걸쳐 파일을 만드는 것이다.
포스트 할 때 마다hexo clean && hexo deploy
를 해줘야 한다.
관련 강의 영상: https://youtu.be/FwRKkZXSdY8
독립적으로 코드를 변경할 수 있도록 도와주는 모델이다.
공통된 작업을 할 때 독립적으로 내가 맡아야 할 부분을 branch로 작업을 하여 작업이 완료된 후에 main에 병합하는 방식이다.
★ 실무에서는 branch를 만들 때 어떤 역할을 하는지 명시적으로 알 수 있게 해줘야 하므로 이름을 잘 선택해서 만들어야 한다.
★ 앞으로 나올 name은 자기가 사용하고 싶은 이름을 작성을 하면 된다.
git branch
: 존재하는 branch 목록을 확인 할 수 있다. 처음 생성 시 branch는 main 혹은 master로 되어있다.git branch name
: 해당 이름의 branch를 생성한다.git switch name
or git restore name
: 해당 이름의 branch로 이동한다.git branch -D name
: 해당 이름의 branch를 제거한다.git merge name
: 해당 이름의 branch와 병합한다.3-3-1. github에서 새로운 repository를 만들어 README.md를 추가하고 git clone을 해보자.
이후 git clone을 한 위치에서 git branch
로 현재 branch를 확인한다.
이후 README.md에 내용을 작성해본다.
3-3-2.git branch name
: name이라는 branch를 추가한다.
이후 git brach
를 사용하여 name이라는 branch가 추가 됐는지 확인해 보자.
3-3-3.
git switch name
또는 git restore name
로 name branch로 이동이 가능하므로 이동을 한 뒤 README.md 파일을 수정해준다.
그 다음 git add
, git commit
, git push
를 해준다.
이때, git push -u origin name
으로 해주자.
이후 github에 가서 확인을 해보면 main에는 변경된 내용이 없지만 name branch에서 작업이 일어난 것을 확인 할 수 있다.
3-3-4.
이후 git switch main
으로 main branch로 이동해 준다. 그 다음 name branch의 내용과 병합하기 위해 git merge name
을 해준다.
이때 내용이 달라 충돌이 일어나고 CONFLICT와 함께 충돌이 되는 파일과 해당 내용이 나타난다.
vim으로 해당 파일로 들어가 보면 충돌 되는 내용이 있으므로 해당 부분을 수정해주면 된다.
3-3-5. 수정 이후 git status
를 입력하면 Unmerged paths, both modified 문구가 나오게 되며 확인이 끝나면 git add
,git commit
을 이용하여 취합하면 된다.
이때 git commit -m
을 사용하면 안된다. 왜냐하면 vi로 봤을 때 원래 제목을 가진 commit이 사라지기 때문이다.
git commit
을 입력하여 vim으로 직접 메세지를 작성하는걸 권장한다.
git clone
으로 연습할 github의 repository를 가져온다.git flow init
를 입력하면 여러 설정들이 나오고 전부 enter를 쳐서 넘어가면 develop branch가 생성된다.3-1. develop branch에서 git flow feature start name
를 입력하여 name branch를 생성한다.
3-2. md, html 등의 파일을 하나 추가하고 vim을 이용하여 내용을 편집한 이후 git add
, git commit
을 차례로 해준다.
3-3. 작업이 끝났으면 git flow feature finish name
를 입력하면 된다. 작업 내용은 summar of actioins에서 확인할 수 있다.
이 때 git branch
를 쳐보면 feature branch가 사라진 것을 확인할 수 있다.
4-1. git flow release start v0.0.1
을 입력한다. (version은 자기 마음대로 입력해도 무관하다. 연습이니까..)
추가적으로 version은 v 바로뒤에 1이 붙으면 정식버전을 의미, 0이면 정식버전이 아닌 것을 의미한다.
4-2. 사용자에게 배포 준비 또는 많은 테스트가 일어나는 단계이며
이후 3개의 입력 단계가 나온다. 가끔 2단계만 나올 수 있다.
4-3. 이제 main ,develop등 남은 branch에서 모두 git push
해줘야 한다.
develop branch에서 git push -u origin deploy
를 이용하여 push해주면 된다. (처음 만드는 local branch이므로)
이후 git switch main
을 입력하고 git push origin main
을 해준다.
git tag
로 태그를 조회할 수 있다.
git push --tags
을 압력하면 main에 4-2에서 입력한 version tag가 달리게 된다.
https://danielkummer.github.io/git-flow-cheatsheet/index.ko_KR.html