프로젝트를 하다보면 프로젝트 폴더에 여러 파일을 다운받거나 수정하게된다.

react 같은 경우 module 들을 하나 둘 씩 다운받다보면 새로운 파일들이 많이 생기고 "git status"에 항상 검색이 되서

필요한 파일만 github repo에 push하고 싶을 때 불편함이 있다.

이런 경우처럼 git repo에 업로드 하지 않을 파일들을 기록하는게 .gitignore이다.

 

파일 이름 앞에 .이 붙어있는 것으로 보아 이 파일은 숨김 파일로 되어 있다.

작성방법은 어렵지 않다. 보통 아래 상화에서 많이 사용한다.

 

1. 하나의 파일을 제외하고 싶을 때

[파일 이름].[파일 확장자]

2. 특정 폴더내의 파일 모두를 제외하고 싶을 때

[폴더 이름]/

3. 특정 확장자 파일 모두를 제외하고 싶을 때

*.[확장자]

4. 제외하고 싶은 폴더가 어디에 있던지 간에 제외하고 싶을 때

**/[폴더 이름]/

이제 작성을 했으면 적용을 시켜야한다.

새로 작성한 .gitignore를 git repo에 push한다

git add .gitignore
git commit -m "add .gitignore"
git push [remote 이름] [branch 이름]

이렇게 하면 끝!! 이면 좋겠으나 repo의 캐쉬를 제거하고 다시 업로드해야하는 절차를 걸쳐야한다.

git rm -r --cache .     (꼭 . 을 붙여야 오류가 안난다..)
git add .
git commit -m "apply .gitignore"
git push [remote 이름] [branch 이름]

 

이렇게 하면 .gitignore에 추가한 폴더나 파일이 push 되지 않은 것을 확인할 수 있다.

'CS > git' 카테고리의 다른 글

git 명령어 정리  (0) 2023.03.10
git과 github  (0) 2023.03.10
  1. git status : git 폴더에서 사용 가능, 브랜치 상태, 수정된 파일 등을 확인할 수 있음
  2. git log : log 확인하는 명령어
  3. git init : 작업 폴더를 git 폴더로 만들기 위해 사용
  4. git clone [http://~~] : git 저장소 복제 및 다운로드 
  5. git add [수정한 파일] : git 저장소에 저장할 파일 추가
  6. git commit -m ["작성할 커밋 메세지"] : 저장소에 추가된 파일을 커밋 & 커밋 메세지 작성
  7. git push origin [브랜치 이름] : 커밋한 파일을 [브랜치 이름]으로 전송
  8. git pull : 변경된 내용 가져오니
  9. git branch : 현재 브랜치 확인
  10. git branch [브랜치 이름] : [브랜치 이름] 생성
  11. git branch -d [브랜치 이름] : [브랜치 이름] 삭제
  12. git checkout [브랜치 이름] : [브랜치 이름]으로 브랜치 변경
  13. git merge [다른 브랜치 이름] : 현재 브랜치에서 [다른 브랜치 이름] 변경사항 병합
  14. git stash : commit 하고 싶지 않은 파일이 있을 때 stash 저장소로 따로 빼놓음
  15. git stash apply : stash 저장소에 있는 파일을 다시 가져옴
  16. git stash drop : stash 저장소에 있는 파일을 삭제

 

'CS > git' 카테고리의 다른 글

.gitignore에 대하여  (0) 2023.04.01
git과 github  (0) 2023.03.10

git과 github는 같은 의미일까?

보통 git을 사용하면 github도 같이 사용하지만 이 둘은 다른의미이다.

그렇다면 어떤 차이점이 있을까?

 

버전관리시스템

버전관리시스템이란 시간에 따라 파일의 변경사항을 추적하고 기록하여 필요에 따라 이전 버전으로 복구하거나 조회하는 기능을 말한다. 과제를 하거나 보고서를 작성할 때 보통 우리는 여러번의 수정 과정을 거친다. 분명 어떤 사람들은 하나의 파일을 계속 덮어쓰기 할 수도 있고, 누구는 다른이름저장 기능을 사용하여 "보고서 완성본.hwp", "보고서 찐막 완성본.hwp", "보고서 찐찐찐막 완성본.hwp" 이런식으로 저장하는 사람도 있을 것이다. 이렇게 저장을하면 단점이 있다. 첫번째 예시로는 계속 덮어쓰기 기능은 어느 지점으로 돌아가고 싶을 경우 돌아갈 수 없다.. 중간까지는 완벽한데,, 여기서부터 다시하고 싶은데 이미 덮어써버렸다.. 두번째 예시는 바탕화면이 많이 지저분하고 계속해서 그 파일을 저장하고 있어야한다. 지저분한거 감수할 수 있다고하더라도 우리는 언젠가 바탕화면에 많아진 파일들을 하나씩 보면서 최종 보고서 파일을 찾아야한다. 하지만 버전관리시스템은 이러한 단점들을 다 해결해준다.

필요하면 이전 버전으로 복구도할 수 있으며 기록만 잘 한다면 내가 어느버전에서 어떤 것을 수정했고 어디까지 진행했는지 알 수 있다.

 

git

git은 위에서 설명한 버전관리시스템 중 하나 이다. git은 로컬 시스템에 설치되고 관리된다. 계속 쌓이는 프로그래밍 버전을 스스로 관리할 수 있다. 로컬 시스템에 설치되고 관리되기 때문에 인터넷이 없는 상태에서도 관리할 수 있다. 또한 branch 기능은 또 다른 독립적인 로컬 시스템을 만들어 관리할 수 있으며, 필요에 따라 삭제, 병합이 가능하다.

 

github

그렇다면 github은 뭐야?

github은 git 저장소를 관리하는 클라우드 서비스이다. 즉 git은 로컬 시스템에서만 설치되고 관리되는데 이것을 github에 올려 다른사람이랑도 공유가 가능하도록 만든다. 본인이 github에 업로드한 코드나 파일들은 다른사람들이 git clone 기능을 사용하여 이어서 작업하거나 다운받을 수 있다. 따라서 다른 사람들과 프로젝트를 할 때 공유가 가능하여 쉽게 수정하고 개선할 수 있다.

'CS > git' 카테고리의 다른 글

.gitignore에 대하여  (0) 2023.04.01
git 명령어 정리  (0) 2023.03.10

+ Recent posts