티스토리 뷰

git

node project 를 github에 올려보자

주먹불끈 2018. 5. 19. 16:01

상황

1) node project 하나 구현했다.

2) 이것을 github 올리고 싶다.

3) 그런데 node_modules 빼고 올리고 싶다

- 왜냐면 잡다하게 용량이 많으며

- 향후 git clone 다음 npm install 해주면 package.json 참조하여 필요한 package install 해주기 때문

 

git init

- 최초 git 관리 시작

 

git status

- 현재 상황 확인

- add 되지 않은 (= git 관리하지 않는) untracked file 들만 있다.

 


 

.gitignore

.gitignore 파일을 생성하고 node_modules/ 추가함

node-modules 폴더와 아래의 모든것은 git 관리하지 않겠다는

 

git add .

현재폴더 (= .) 아래 모든 폴더의 untracked file stage 올린다 

이때 .gitignore 설정이 반영되어 필요한 파일만 add 된다.

 


 

git status

현재상황 재확인

- commit 대기된 파일들이 보인다 (=staged)

- 안내에서 "git rm --cached" 라는 명령으로 unstage 있다는 것을 있다.


 

git commit -m "init commit"




 

Github

- 새로이 repository 하나 만든다


 

- 안내에서 remote repository 추가하고, push 하는 법을 확인한다

- 아래의 명령을 콘솔창에서 그대로 치면  된다.


 


 

 

참고. 이미 git 추가한 파일을 .gitignore 하려면?

 

상황을 만들어보자

1) node_modules 폴더를 복제하여 node_modules2 폴더를 만들자.

- 너무 많아서 mongoose 폴더만 복사함

2) git add . && git commit -m "test situation"

3) git push -u origin master

 

이러면 node_modules2/. 폴더가 git 관리를 받고 있는 상황이 된다.

 

.gitignore 적용

node_modules2/ 추가해서는 변하는게 없다.

 

git add . && git commit -m ":.gitignore modified"

git push -u origin master

 

해줘서 github 가서 보면 여전히 node_module2/ 폴더가 보인다.

 


 




 

 

원인은?

- 참고링크: https://stackoverflow.com/questions/11451535/gitignore-is-not-working

- git 에게 알려줄 방법이 필요하다

 

Solution

- git rm -r --cached .

- 현재폴더와 하위의 모든 cached 것을 날려준다.

- git add . && git commit -m "now .gitignore is working"

- git push -u origin master

 

아래와 같이 node_modules2 폴더가 제외된 것을 확인할 있다.

 


반응형

'git' 카테고리의 다른 글

.git - 쩜깃의 이해  (0) 2019.01.24
git pull --rebase 를 쓰자  (4) 2019.01.15
git commit 을 gpg 로 암호화하기  (0) 2019.01.04
엉뚱한 branch에서 작업하고 commit 해버렸다면  (0) 2018.07.04
github 에 pull request 하기  (0) 2018.07.04
반응형
잡학툰 뱃지
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함