[Git] Github에 잘못 올라간 파일 삭제하기

.gitignore을 설정하지 않고 github remote에 push한 경우

Goal

github에 잘못 올라간 파일을 삭제할 수 있다.

.gitignore을 설정하지 않고 github remote에 push한 경우, 잘못 올라간 파일을 삭제할 수 있다.

 

들어가기 전

 

예를 들어, IntelliJ IDE를 사용할 때 .out 폴더를 .gitignore에 넣지 않고 원격 저장소에 push했다고 가정하자. (IntelliJ의 .out 폴더: 빌드/컴파일 시 .class 파일이 포함된 프로젝트의 출력이 포함되는 위치)

 

 

Github에 잘못 올라간 파일 삭제 과정

1. 원격 저장소에서 파일 삭제하기

이미 github remote에 push를 했기 때문에 로컬의 저장소에서 파일을 삭제해도 원격 저장소에서는 삭제되지 않는다.

 

git rm VS git rm –cached

// 원격 저장소와 로컬 저장소에 있는 파일을 삭제한다.

$ git rm [File Name]

// 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다.

$ git rm --cached [File Name]

따라서 아래와 같이 git rm –cached [File Name] 명령어를 이용하여 원격 저장소에서 잘못 올라간 파일을 삭제해야 한다.

 

// .idea/modules.xml 파일 삭제

$ git rm --cached .idea/modules.xml

// .idea 폴더 하위의 모든 파일 삭제 

$ git rm --cached -r .idea/

2. .gitignore 설정하기

만약 .gitignore가 제대로 설정되어 있지 않다면 .gitigore 설정하여 다음에는 개인이 관리해야되는 파일들이 원격 저장소에 올라가지 않도록 해야한다. .gitignore 설정하기 를 참고하여 .gitignore를 설정한다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

TIP) 또한 .gitignore는 git add 명령어 전에 설정되어 있어야 적용이 가능하다는 것을 알아두자.

 

3. 원격 저장소에 적용하기

버전 관리에서 완전히 제외하기 위해서는 반드시 commit 명령어와 push를 수행해야 한다.

 

// 버전 관리에서 완전히 제외하기 위해서는 반드시 commit 명령어를 수행해야 한다.

$ git commit -m "Fixed untracked files"

// 원격 저장소(origin)에 push

$ git push origin master

[참고] Github에 올라간 Commit 내역까지 삭제하는 방법

git 명령어 실수 해결하기에서 git push 취소하기를 참고하시기 바랍니다.

 

git rm 옵션 참고

 

 

관련된 Post

.gitignore 설정하는 방법에 대해 알고 싶으시면 .gitignore 설정하기를 참고하시기 바랍니다.

git add / git commit / git push를 취소하는 방법에 대해 알고 싶으시면 git 명령어 실수 해결하기를 참고하시기 바랍니다.

References

https://devlog.github.io/git/2015/12/23/git-ignore-tracked-files.html

http://mobicon.tistory.com/266

https://gmlwjd9405.github.io/2018/05/17/git-delete-incorrect-files.html

 

[출처] https://gmlwjd9405.github.io/2018/05/17/git-delete-incorrect-files.html

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1038 git 에서 https repository 연결시 SSL 인증서 오류 해결법 file 졸리운_곰 2021.08.27 900
1037 [GIT] Conflict(충돌) 났을 때 강제로 Pull 하기. 졸리운_곰 2021.08.24 86
1036 [一日30分 인생승리의 학습법] How to Run : Linux Containers on Windows Server 2019 file 졸리운_곰 2021.08.07 98
1035 [一日30分 인생승리의 학습법] [Tensorflow] Serving이용하여 REST API 만들기 file 졸리운_곰 2021.08.07 90
1034 [一日30分 인생승리의 학습법] Amazon SageMaker는 처음이지? 누워서 머신러닝 학습부터 배포까지 file 졸리운_곰 2021.08.05 99
1033 [一日30分 인생승리의 학습법] Apache Beam (Dataflow)를 이용하여, 이미지 파일을 tfrecord로 컨버팅 하기 file 졸리운_곰 2021.08.04 94
1032 [一日30分 인생승리의 학습법] [GCP] Apache Beam 사용하기 file 졸리운_곰 2021.08.04 94
1031 [一日30分 인생승리의 학습법] Apache Beam, Apache Airflow, Apache Atlas 설명 졸리운_곰 2021.08.04 89
1030 [一日30分 인생승리의 학습법] 블레이저 웹어셈블리 (web assembly, WASM_ Awesome Blazor ) 놀라운 오픈소스 리스트 (open source) file 졸리운_곰 2021.08.04 5267
1029 MarkDown 사용법 총정리 file 졸리운_곰 2021.07.29 139
1028 [一日30分 인생승리의 학습법] [JWT/JSON Web Token] 로그인 / 인증에서 Token 사용하기 file 졸리운_곰 2021.07.24 77
1027 [一日30分 인생승리의 학습법] JWT(JSON Web Token)을 이용한 API 인증 - #1 개념 소개 file 졸리운_곰 2021.07.24 85
1026 [一日30分 인생승리의 학습법] XPath 란 무엇입니까? file 졸리운_곰 2021.07.24 66
1025 [一日30分 인생승리의 학습법] XPATH 사용법·작성법 file 졸리운_곰 2021.07.24 84
» [Git] Github에 잘못 올라간 파일 삭제하기 졸리운_곰 2021.07.13 105
1023 [一日30分 인생승리의 학습법]AI 한국어 자연어 처리 데이터셋 목록 file 졸리운_곰 2021.07.10 82
1022 [一日30分 인생승리의 학습법] 기계독해, MRC란 무엇일까 file 졸리운_곰 2021.07.10 99
1021 [一日30分 인생승리의 학습법] 웹어셈블리를 활용한 유망한 프로그래밍 언어 프로젝트 10가지 졸리운_곰 2021.07.02 66
1020 [一日30分 인생승리의 학습법] Windows 10에 Minikube 설치하기 file 졸리운_곰 2021.06.27 90
1019 [一日30分 인생승리의 학습법] 윈도우2016 서버에 Docker 설치하며 겪은 시행착오 기록 file 졸리운_곰 2021.06.26 77
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED