goal
- JavaScript 런타임 & node.js
- nvm (Node Version Manager)
- npm (Node Package Manager)
- package.json
- Git을 통해 pair와 공동 작업하기
- Git branch
- Git workflow
<script>
태그 내에 JavaScript 코드를 작성한다면$ node <js_file_name>
명령어를 입력하면$ sudo apt-get update
$ sudo apt install curl
$ touch ~/.bash_profile
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
$ nvm --version
=> nvm버전 확인$ nvm install 12.18.3
$ node -v
=> node버전 확인$ nvm install <version>
$ nvm use <사용하고 싶은 node version>
package.json이란?
: 여러 사람이 함께 프로젝트를 할 때, 해당 프로젝트에 대해 알려주는 역할을 함 / package.json에는 해당 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있음 /
node_modules
이라는 폴더에 다 들어가 있음$ npm install
=> package.json에서 필요하다고 한 모듈을 다운받음$ npm install
이 완료되면, node_modules
디렉토리가 생성됨순서
1. $ git clone <repository URL>
: github에서 각자의 local로 가져오기(복제하기)
2. $ git remote add pair <repository URL for Pairs fork>
: pair의 repo와 나의 local을 연결
3. $ git remote -v
: 한 후, 파일 작성
4. $ git add <changed file name>
: 커밋에 변경사항 포함 (in shared local)
5. $ git commit -m "message"
: 커밋생성 (with message) (in shared local)
6. $ git push origin master(or other branch name)
: 작업 내용을 pair repo에 push (from shared local to github)
7. $ git pull pair master(or other branch name)
: github 작업내용을 나의 local로 가져오기
8. 가져온 후, 반복
**- push는 자신의 repo에서!**
**- pull은 상대의 repo에서!**
충돌
같은 부분을 같은 repo에서 코드를 작성시 conflict발생
코드 에디터에서 쉽게 해결할 수 있음
$ git checkout <옮기려고 하는 브랜치 이름>
$ git checkout -b <옮기려고 하는 브랜치 이름>
$ git checkout <원본 이름>
=> $ git checkout -b <옮기려는 브랜치이름>
master(now main) = 기본 브랜치 이름
origin = remote repo를 지정하는 이름
head = 현재 작업중인 곳
리모트에서 변경사항이 있으면 pull을 하라고 하는데 자신의 파일이 확실하다고 가정되면 강제로 push하는 방법도 있을까요? : nope / pull한 후 push
origin은 remote 환경에서 자신의 레포공간이라고 생각하면 되나요?? : yes