관리 메뉴

제뉴어리의 모든것

Git 원격 저장소에 올라간 파일을 삭제하고 앞으로 올리지 않는 법 본문

Git

Git 원격 저장소에 올라간 파일을 삭제하고 앞으로 올리지 않는 법

제뉴어리맨 2022. 10. 18. 03:22

원격 저장소에 간혹 잘못 올라간 파일이 있다.

이럴 경우 해결하는 방법을 알아보자.

아래의 내용은 불필요한 과정이 포함되어 있을 수도 있다.

다만 결과적으로 목적을 달성하는 방법이다.

잘못된 점이 있다면 지적도 감사합니다.


처리 순서

  • 현재 상황
  • 원격 저장소에서 해당 파일 삭제
  • 내 로컬 저장소에서, 원격저장소에 잘못 올라간 파일을 삭제함을 선언
  • .gitignore에 올리지 않을 파일 저장
  • 원격 저장소 pull
  • 내 로컬 저장소의 내용 add, commit
  • 원격 저장소에 최종 push

 

 


현재 상황

private한 개인 정보가 포함 된 application.properties가 github에 올라갔다.

뒤늦게야 확인을 하고 github에서 삭제하고 .gitignore에 application.properties 를 추가 하여 앞으로는 

github에 올라가지 않게 하려고 한다.

 

원격 저장소에서 해당 파일 삭제

github에 삭제하려는 파일에 들어가서 빨간박스에 표시된 삭제 버튼을 눌러 삭제를 진행한다

 

내 로컬 저장소에서, 원격저장소에 잘못 올라간 파일을 삭제함을 선언

프로젝트내에서 git 터미널을 키고 아래의 명령어를 실행한다

// 원격 저장소에 있는 파일만 삭제합니다.(로컬 저장소의 파일은 삭제되지 않습니다.)
$ git rm --cached -r [File Name]

 

참고로,

로컬에도 삭제하고 싶다면 아래의 명령어를 쓰면 된다.

현재 상황과는 맞지 않으므로, 무시하여도 된다.

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

 

.gitignore에 올리지 않을 파일 저장

프로젝트내에 있는 .gitignore 파일에

아래 내용을 추가

### 아래는 application.properties의 경로이다 ###
src/main/resources/application.properties

 

 

원격 저장소 pull

github도 현재 application.properties가 삭제되어 변화가 일어난 상태이므로 pull을 먼저 하여야한다.

그렇지 않고 로컬의 내용을 먼저 push 할 경우 conflict 에러가 발생하고 push가 되지 않는다.

 

git pull [원격 저장소명] [현재 내 브랜치]

예시
git pull origin main

 

해당 과정에서 merge를 하면서 merge 내용을 메모하라는 상황이 발생 될 수 있는데,

메모창을 그냥 닫아주면된다.

 

내 로컬 저장소의 내용 add, commit

프로젝트내에서 git 터미널을 키고 아래의 명령어를 차례로 실행한다

git add . 
git commit -m '커밋 메모'

 

원격 저장소에 최종 push

최종적으로 내 로컬의 내용을 remote repository에 반영하여

내 로컬과 remote repository를 일치시킴.

git push origin main

 

뭔가 깃은 알듯 말듯한 기술이다.

하지만 유용하다.

모든것을 한번에 다 알 수는 없으니

기본 개념과 기능을 인지한 상태에서 필요한 부분들을 공부하여 적용하여야 겠다.

 


참조 

 

https://zzang9ha.tistory.com/m/359

 

[Git/GitHub] - GitHub에 잘못 올라간 파일 제거하기(.gitignore)

📎 GitHub에 잘못 올라간 파일 제거하고 .gitignore에 추가하기 저는 평소에 작업을 하다가 실수로 불필요한 파일까지 GitHub에 올린 경우가 있었습니다. 예를들면 다음과 같은 사항들이 존재합니다.

zzang9ha.tistory.com

https://velog.io/@gillog/Git-.gitignore-%EC%9E%AC%EC%A0%81%EC%9A%A9

 

[Git] .gitignore 재적용

Spring Boot 프로젝트에서 application.properties 정보는 Github 등에 노출 될 경우 위험할 수 있다.이번에 인지하고 .gitignore에 새롭게 등록하여 로컬 단에서만 사용하려고 변경 하던 중, .gitignore에 추가해

velog.io

https://born2bedeveloper.tistory.com/m/14

 

[Spring Boot] EMail 보내기

기존 프로젝트를 베타 오픈하기 전에, 피드백을 받는 기능을 추가하면 좋겠다는 생각이 들었다. 일종의 고객센터 같은 느낌? 간단한 입력 form에 작성한 후 보내면, 관리자 계정으로 메일이 오도

born2bedeveloper.tistory.com

https://kitty-geno.tistory.com/m/43

 

Spring Boot | 메일 발송하기 (Google SMTP)

▶ 스프링 부트 메일 발송하기 (Google SMTP) 1. Google 홈페이지 > Google 계정 관리(우측상단) 2. 보안 > 앱 비밀번호 앱 비밀번호는 위에 2단계 인증을 해야 생성됩니다. 3. 메일, Windows 컴퓨터 4. 앱 비밀

kitty-geno.tistory.com

 

 

비동기 이벤트 참조

https://daddyprogrammer.org/post/14625/spring-boot-events/

'Git' 카테고리의 다른 글

지난 커밋 메세지 수정하기  (0) 2024.02.20
[GIT] 깃 공부 - 2022.11.07  (0) 2022.11.07
.gitignore 파일 주의사항  (0) 2022.10.22
[Gir] git remote url 확인 명령어  (0) 2021.03.23