GitHub에 잘못 올라간 파일 제거하기

김기현·2022년 12월 27일
2
post-thumbnail

협업을 하다가 실수로 불필요한 파일 및 민감한 정보까지 GitHub에 올린 경우가 있었습니다.

아래의 경우가 예시입니다.

  • Java의 target 폴더 하위 파일들.class
  • GradleIntelliJ의 경우 idea 폴더 하위 파일들
  • 민감한 정보들(DB 정보, AWS 비밀번호 등)

특히 마지막 민감한 정보들을 GitHub에 올리면 해커들의 공격대상이 쉽게 됩니다. 실제로 지인 중 GitHub에 AWS RDS 정보를 올리고 랜섬웨어에 감염된 경우가 있습니다. 뿐만 아니라 AWS 폭탄 과금의 경우도 인터넷에서 종종 찾아볼 수 있어 더욱 주의해야 합니다.

위와 같은 내용들은 .gitignore 라는 파일에 추가를 해야합니다.

.gitignore란 ?

.gitignore란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일입니다..gitignore 파일에 추가하면 GitHub에 해당 내용을 추가하지 않습니다.

GitHub에 잘못 올라간 파일 삭제

1. 원격 저장소 파일 삭제

// 원격 저장소 및 로컬 저장소의 파일을 삭제
$ git rm -r [File Name]

// 원격 저장소에 있는 파일만 삭제
// 로컬 저장소의 파일은 삭제되지 않음
$ git rm --cached -r [File Name]

위 사진에서 .gradle 폴더와 build 폴더 및 하위 파일을 원격에서는 삭제하고, 로컬에는 그대로 놔둘 예정이기 때문에 git rm --cached -r [폴더/파일이름]를 사용합니다.

2. .gitignore 설정
.gitignore 파일을 생성하고, 위에서 제거한 build .gradle 폴더를 추가합니다.
위 사진에서 build .gradle 폴더의 색상이 주황색으로 된 걸 확인할 수 있습니다. 위와 같이 주황색의 폴더가 Git 버전 관리에서 제외할 폴더입니다.

3. 원격 저장소에 push로 적용

// 버전 관리에서 완전히 제외
$ git commit -m "fix : untracked files"

// 원격 저장소(origin)에 push
$ git push origin main
// 또는 $ git push origin master

push를 하고 GitHub를 확인해보면 build .gradle 폴더가 완전히 삭제된 걸 확인할 수 있습니다.

인텔리제이 기준으로 .idea 폴더나 target폴더 등 보통 gitignore에 추가되는 파일 이외에,
민간함 정보들은 꼭 gitignore 파일에 추가해서 GitHub에 올리지 않도록 수정해야 합니다!

profile
피자, 코드, 커피를 사랑하는 피코커

0개의 댓글