git과 github 초보자들의 경우 파일 이름 하나하나 치기 귀찮아서 `git add . `친 후 commit, push한 적이 매우 많을 것이다. 이때 제대로 확인하지 않으면 내 github repo에 .idea나 .ipynb_checkpoints와 같이 쓸데없는 파일이 올라가 있는 경우가 있을 것이다. 또는 아이디와 패스워드 같은 공유되면 안되는 파일이 올라갈 수 있다. 이를 방지해주는 게 .gitignore이다. (기존 자료는 gitignore에 파일이나 폴더를 등록, 커밋하는 방법만 있을 뿐 gitignore를 만드는 방법이 없어서 이 참에 작성해보았다.)
1. gitignore 만드는 방법
git으로 관리하는 폴더의 최상단에 .gitignore를 생성해주자.
잘 모를 경우 .git이 있는 폴더 위치에 생성해주면 된다
touch .gitignore
2. github에 업로드하기 싫은 파일 등록하기
.gitignore 파일에 vi 편집기를 사용해서 파일이나 폴더 등록한다.
(리눅스 커맨드 초보자를 위해 vi 핸들링 커맨드는 아래와 같다.
아래 커맨드 입력 후 i를 눌러야 edit 모드가 되어 문자를 입력할 수 있고, :wq!를 입력하면 작업한 내용 저장하고 나가기, :q! 입력하면 작업한 내용 저장하지 않고 나가기가 된다.)
vi .gitignore
- ignore 작성 규칙
# 파일 제외 (파일명.확장자)
파일명.txt
# 현재 경로에 있는 파일만 제외 (다른 경로의 동일한 파일명은 추적)
/파일명.txt
# 특정 경로안의 특정 파일 제외
폴더명/파일명.txt
# 특정 폴더안의 파일 전부 제외
폴더명/
# 해당 확장자 파일 전체 제외
*.txt
# 예외
!제외할 파일명.txt
나의 경우 .idea, .ipynb_checkpoints, .gitignore를 github에 올리고 싶지 않아 아래와 같이 등록해 줬다. 말장난같지만 .gitignore를 gitignore에 등록해 준 이유는 git에서 자꾸 추적하기 때문에 등록해줬다.
3. github에 올라가있는 쓸데없는 파일 내리기
gitignore를 만들고 작업한 내용을 commit하기 전에 github에 올라가있는 쓸데없는 파일부터 내리자.
이때 커맨드는 2가지 종류가 있는데, 각각의 차이는 아래와 같고 상황에 맞추어 사용하면 된다.
1) 원격 저장소와 로컬 저장소에 있는 파일 삭제
git rm [file name]
2) 원격 저장소에 있는 파일만 삭제(로컬 저장소에 있는 파일은 삭제 X)
git rm --cached [file name]
나의 경우 github에 올라가 있는 파일만 삭제하고 싶으므로 두번째 커맨드를 사용했다.
물론 해당 커맨드를 날린 후 github에 들어가봐도 변동 사항은 없다. git add, git push까지해야 적용된다.
4. git add, git commit, git push하여 github에 반영해주자.
git add .
git commit -m "Fixed files"
git push origin master
5. github에 들어가서 확인
내 github에 들어가보면 사라진 걸 확인할 수 있다.
출처:
https://dodam10.tistory.com/44
https://parkjye.tistory.com/28
'Edu > 02. Git_N_Github' 카테고리의 다른 글
커밋들 간 변경된 파일명 조회 (0) | 2024.07.03 |
---|---|
git bash에서 한글명 표기가 숫자로 나타날 때 (2) | 2024.01.14 |
커밋 실수 구원 커맨드 (0) | 2021.09.08 |
커밋 라인의 타임머신인 HEAD (0) | 2021.07.18 |
두 커밋 간의 차이 보기 (0) | 2021.07.18 |