[preview]
git push 취소 방법(1)을 통해 실패를 맛보았던 나는
오늘도 remote repo에서 폴더를 지우고 성공적으로 ignore 할 방법을 찾았다...
[이어진 목표]
1. remote repository에 저장되어 버린 내용을 취소한다.
2. window 환경에서 정상적인 git ignore 기능 사용 방법을 숙지하고 정리한다.
[해결 방법]
구글에서 "git remote folder delete" 로 검색해 발견한 블로그.
여기서 한줄기 희망을 찾았다.
바로 아래에 있는 "원격 저장소에서 파일 또는 폴더를 삭제해주는 커맨드"를 찾아냈기 때문이다.
Remove file or folder from remote repo only
(원격의 저장소에서만 파일 또는 폴더 삭제하기)
# Remove a single file (파일 하나 삭제 커맨드)
git rm --cached [파일명.확장자]
# Remove a single folder (폴더 하나 삭제 커맨드)
git rm --cached -rf [폴더명]
Remove file or folder from both remote repo and local
(원격 저장소와 로컬 저장소 모두에서 파일 또는 폴더 삭제하기)
# Remove a single file (파일 하나 삭제하기)
git rm [파일명.확장자명]
# Remove a single folder (폴더 하나 삭제하기)
git rm -rf [폴더명]
*참조 링크
https://dev.to/coolprobn/remove-files-or-folders-from-remote-git-3l0
상단의 커맨드로 아래와 같이 명령어를 실행했더니 긍정적인 (?) 리액션이 나왔다.
혹시나 해서 "git status" 를 이용해 상태를 살펴보았더니
test_util폴더 하위의 파일들이 전부 삭제된 상태로 staged 상태로 커밋을 기다리고 있었다.
이 후 바로 커밋을 진행했다.
정상적으로 삭제된 내용이 커밋되었다.
remote 저장소에 커밋내용을 적용하기 위해 바로 "git push"를 실행했더니,
remote 에서 마침내 폴더가 사라졌다!!!
이것을 응용해 원격에서 .gitignore.txt 파일도 삭제해냈고,
나는 만든적이 없지만(?) 다른 repository 내에 존재하고 있는 .gitignore.txt 파일을 우연히 참조하게 되어
폴더를 ignore 하는 방법을 어렴풋이 깨닫고는 그대로 실행해보았다.
하지만 호락호락하지 않은 git.
폴더에 .gitignore.txt 파일만 생성하면 Untracked files라고 인식이 되어버린다.
여전히 관리대상에서 제외하고 싶은 test_util 폴더 또한 여전히 잘 인식된다.
...이제 최후의 방법을 써보기로 했다.
루트 폴더에서 .git 폴더를 삭제하고 다시 init하는 방법을 써보기로 결정했다.
그리고 불현듯 스치는 불안감에 "내가 add하는 방법이 옳은가?" 하는 생각이 들었다.
역시나 내가 add할 때 사용하는 커맨드인 "git add -A" "git add * " 둘 다 모든 파일을 add하는 기능을 가졌다고한다.
.gitignore.txt에 적힌 파일을 제외하고 staged area에 올리려면 " git add . " 커맨드를 사용해야 한다고...
바로 try on!
"git init" 부터 "git add ." -> "git commit" -> "remote repository set" - "git push" 까지 완료하니
원하던 ignore 작업을 성공해버렸다!!!
나의 Local 디렉토리 상태
remote repo 상태
[목표 1 해결 방법 정리]
remote repository에 저장되어 버린 내용을 취소한다.
=> 원격 저장소에서만 파일 또는 폴더를 삭제하는 명령어를 이용해 원하는 파일과 폴더를 삭제함
# Remove a single file (파일 하나 삭제 커맨드)
git rm --cached [파일명.확장자]
# Remove a single folder (폴더 하나 삭제 커맨드)
git rm --cached -rf [폴더명]
[목표 2 해결 방법 정리]
window 환경에서 정상적인 git ignore 기능 사용 방법을 숙지하고 정리한다.
.git으로 관리하는 root 폴더에서 ".gitignore.txt" 텍스트 파일을 생성한다.
.gitignore.txt 파일 내 제외할 파일 또는 폴더 형식을 적고 저장한다.
staged area로 올릴 때의 명령어는 "git add ." 을 사용한다.
git commit & git push 를 진행한다.
이번에 경험한 실전공부는 git에서 push를 취소하고, ignore 기능을 익히는 아주 유익한 시간이었다.
명령어만 모아 따로 정리를 해놓고 참조해야겠다.
나와 같은 실수를 하는 사람이 없길 바란다..
'Version Control System' 카테고리의 다른 글
Git push Error : The requested URL returned error: 403 해결방법 (0) | 2021.12.23 |
---|---|
Git 에러 : adding files failed (Filename too long) (0) | 2021.10.12 |
git push 취소 & ignore 기능 사용하기(1) (0) | 2021.09.03 |
Progit 리뷰_2장 : How to Using 'Git' ? (0) | 2021.09.01 |
Progit 리뷰_1장 : What is Git & VCS ? (0) | 2021.08.29 |
댓글