bskyvision$

[git] github에 잘못 올라간 폴더 및 파일 삭제하기

공부/컴퓨터, 인터넷
@2020-11-12 18:59:42

.gitignore를 잘 설정해놓지 않았을 경우, 불필요한 폴더나 파일들이 원격저장소인 github에 올라가곤 합니다. 그런 경우에 그 폴더들과 파일들을 지워줘야 합니다. 오늘은 그 방법에 대해 다루도록 하겠습니다. 

 

우선 저는 고의적으로 불필요한 폴더와 파일이 원격 저장소에 저장되게 해놨습니다.

 

 

원격저장소에 있는 unnessesary 폴더와 unnessesary.xlsx 파일을 지워보도록 하겠습니다.

 

폴더를 제거할 때 필요한 명령어는 다음과 같습니다. 

 

git rm --cached -r 폴더명

 

그리고 파일을 제거할 때는 다음과 같이 명령해주면 됩니다. 

 

git rm --cached -r 파일명 또는 git rm --cached 파일명 

 

여기서 --cached는 원격저장소의 폴더 또는 파일을 삭제한다고 알려주는 옵션입니다. 만약 --cached가 없으면 로컬저장소의 폴더 또는 파일도 삭제합니다. 그런데 로컬저장소에서는 꼭 필요한 파일이거나 폴더일 수 있기 때문에 잘 판단해서 --cached를 넣어줘야 합니다. 여기서 로컬저장소에서 꼭 필요한 파일이나 폴더에는 코드를 실행하기 위해 꼭 필요한 패키지, 라이브러리, 실행파일 같은 것들입니다. 그러나 개발환경이 조금씩 다른 다른 협업자들을 위해서 이러한 파일이나 폴더는 보내지 말아야 합니다.  

 

또한 -r은 폴더명이 주어졌을 때 recursive removal을 허용하게 해주는 옵션입니다. 정확한 의미는 잘 모르겠지만, 폴더를 지울때는 옵션 -r을 추가해줘야 합니다. 

 

그러면, 먼저 unnessesary라는 이름의 폴더부터 삭제해보겠습니다. 

 

git rm --cached -r unnessesary

 

 

또한 unnessesary.xlsx 파일도 삭제하겠습니다. 

 

git rm --cached -r unnessesary.xlsx 

 

 

이렇게만 해서 원격저장소에 있는 폴더와 파일이 즉각 삭제되는 것은 아니고 commit을 해주고, push를 해줘야 합니다. 

 

git commit -m "불필요한 폴더 및 파일 삭제"

 

 

git push -u origin main

 

 

자, 이제 삭제되었는지 확인해볼까요? 

 

 

불필요한 폴더와 파일이 잘 제거된 것을 확인하실 수 있습니다. 

 

 

<참고자료>

[1] gmlwjd9405.github.io/2018/05/17/git-delete-incorrect-files.html, heejeong Kwon, "[Git] Github에 잘못 올라간 파일 삭제하기"

댓글

  1. 출근도장 @2020.11.13 09:17   댓글주소   수정/삭제   댓글쓰기

    2020 11 13 09 17 04

  2. BlogIcon Brian_93 @2020.11.14 16:45 신고   댓글주소   수정/삭제   댓글쓰기

    오...관련 내용을 몰라서 매번 레포를 지웠다 만들었다를 반복했었는데..ㅜㅜ 이번 포스팅이 큰 도움이 되었네요!!

  3. -r @2020.11.16 10:23   댓글주소   수정/삭제   댓글쓰기

    -r옵션은 폴더 하위폴더/파일까지 같이 삭제하기 위함입니다. 만약 하위 폴더/파일이 있으면 -r 옵션 없이는 삭제가 안됩니다.
    git에서는 안해봤지만 리눅스나 윈도우에서는 -r
    옵션 없이도 됩니다.

    출근도장 2020 11 16

[1] [···] [14] [15] [16] [17] [18] [19] [20] [21] [22] [···] [546]