.gitignore
는 프로젝트의 최상위 위치에 존재해야한다.
프로젝트를 저장소에 commit
하려고 할때 민감한 정보나 굳이 올라갈 필요가 없는 용량만 큰 파일들, 로그파일 등 귀찮은 문제가 발생할 여지를 사전에 방지해준다.
대표적으로 무시해야할 파일
.DS_Store
같은 MacOS에서 쓸모없는 시 파일프로젝트 최상위 루트에서 .gitingnore
파일을 생성한다.
# dependencies
/node_modules
/.pnp
.pnp.js
# misc
cert/
.env
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
gitignore를 커밋하여 원격 저장소에 푸시한다. 하지만 적용이 안됬을 경우 이후에 일처리가 곤란해지니 반드시 아래의 명령어를 사용해줘야 한다.
git rm -r --cached .
git add .
git commit -m "커밋 메세지"
git push origin [브랜치이름]
처음에 cert폴더까지 올라가 당황스러웠었는데 위의과정을 거진 후로 정상적으로 필터링되어 저장소에 올라갔다.
git push origin 브랜치명
했는데 이런 오류가 떠요 ㅠㅠhint를 통해 친절하게 설명 해 주고 있는데..
Local에서 push하려는 commit과 Github 저장소 내의 commit
과 일치하지 않아 발생하는 오류이므로
git pull origin master
를 통해 저장소에 있는 파일을 그대로 merge
한 후에 다시 push해주면 된다.
git fetch
를 활용하여 원격저장소의 커밋 정보를 로컬 저장소로 가져온다.
git branch -a
를 서용해 로컬/ 원격 저장소의 브랜치 정보를 확인 한다.
git merge origin/[브랜치]
를 사용하여 최종 수정한 파일을 merge
해준다.
git push origin matser
해서 저장소에 올리자!
여전히 push가 안될때 쓰는 최후의 방법으로 강제로 덮어씌우는 작업이다. 하지만 파일 손실의 위험이 크므로 마지막수단으로 활용해야한다.
git push -f origin master
ref : "pluralsight","fetch 네이버블로그"