본문 바로가기
DevOps/Git

[Git Bash] 저장소의 폴더 및 파일 삭제

by HJ0216 2023. 1. 22.

1. Git bash에서 remote repository 변경 전 pull을 통해 버전 맞추기

$ git pull origin main
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9 (delta 6), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), 2.10 KiB | 46.00 KiB/s, done.
From https://github.com/HJ0216/TIL
 * branch            main       -> FETCH_HEAD
   1843ac3..8797bb6  main       -> origin/main
Updating 1843ac3..8797bb6
Fast-forward
 README.md | 3 +++
 1 file changed, 3 insertions(+)

 

 

2. remote repository 내 불필요한 파일 제거

$ git rm --cached -r test.txt
rm 'test.txt'

# remote repository 내 불필요한 test.txt 파일 제거

 

폴더 제거 시,

git rm --cached -r 폴더명

# rm: remove
# --cached: 원격 저장소의 폴더 또는 파일 삭제 옵션
# --cached가 없을 경우, 로컬 저장소의 폴더 또는 파일도 삭제
# -r: directory 옵션

 

파일 제거 시,

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

# 둘 중 택 1
# -r 옵션은 폴더를 지울 때는 필수, 파일을 지울 때는 선택

 

 

3. 버전 관리를 위한 commit 진행

$ git commit -m "remove a test.txt"
[main 759bd78] remove a test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt

 

 

4. 원격 저장소로 push

$ git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 223 bytes | 223.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/HJ0216/TIL.git
   8797bb6..759bd78  main -> main
branch 'main' set up to track 'origin/main'.

 

 

➕ --cached를 입력하지 않았을 때, remote repository와 local repository

1. 임의 파일(will_be_deleted.txt) 생성

2. git bash에서 add, commit, push 진행

$ git add /c/git_total/will_be_deleted.txt


$ git commit -m "add a test file for git pratice"
[main ed8b4a2] add a test file for git pratice
 1 file changed, 1 insertion(+)
 create mode 100644 will_be_deleted.txt


$ git push -u origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 340 bytes | 340.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/HJ0216/TIL.git
   567d81d..ed8b4a2  main -> main
branch 'main' set up to track 'origin/main'.

3. remote repository에서 push 내용 확인

4. git bash에서 --cached 제외하고 파일 remove 진행

$ git rm will_be_deleted.txt
rm 'will_be_deleted.txt'

$ git commit -m "remove a test file for git pratice"
[main 95467dc] remove a test file for git pratice
 1 file changed, 1 deletion(-)
 delete mode 100644 will_be_deleted.txt

$ git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 231 bytes | 231.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/HJ0216/TIL.git
   ed8b4a2..95467dc  main -> main
branch 'main' set up to track 'origin/main'.

5. remote repository 및 local repository에서 push 내용 확인

 

 

 

참고 자료

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