본문 바로가기
git

github에 잘못 올린 파일 삭제하는 방법

by cactuslog 2024. 3. 13.

 

github에 올라가면 안되는 파일을 모르고 commit 후 push한 상황이다. ㅜㅜ

 

잘못 올린 파일명은 test.tsx이다.

 

 

 

 

실패한 방법

 

1. 파일을 프로젝트 폴더에서 직접 삭제한다.

 

프로젝트 폴더에서 우클릭 후 git bash를 열자

 

 

2. git diff 명령어로 test.tsx파일이 삭제된 것을 확인한다.

$ git diff
diff --git a/test.tsx b/test.tsx
deleted file mode 100644
index b32c9dd..0000000
--- a/test.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from "react";
-
-const Test = () => {
-  return <div>test</div>;
-};
-
-export default Test;

 

 

3. git add ./test.tsx 명령어로 삭제 된 파일을 staging 영역에 추가한다.

$ git commit -m "삭제"
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    test.tsx

 

 

4. git status 명령어로 staging 영역에 잘 추가되었는지 확인한다.

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        deleted:    test.tsx

 

 

push 명령어로 github에 반영한다.

 

그러나 아무것도 반영되지 않는다 ??

$ git push origin master
Everything up-to-date

 


 

해결 방법

 

git rm -rf 삭제하고 싶은 폴더 또는 파일명

 

 

이 명령어를 사용하면 삭제한 폴더 및 파일을 원격 저장소에 반영할 수 있다.

$ git rm -rf ./test.tsx
rm 'test.tsx'

 

$ git commit -m "rm rf"
[master 729702f] rm rf
 1 file changed, 7 deletions(-)
 delete mode 100644 test.tsx

 

$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 16 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 229 bytes | 229.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/J-Rigondo/react-ui.git
   3394801..729702f  master -> master