옵시디언에서 노트나 파일을 삭제할 때 기본 설정은 'Move to system trash(시스템 휴지통으로 이동)'이다.
삭제한 노트나 파일을 필요에 의해 복구할 수 있도록 'Move to Obsidian trash (.trash folder)(Obsidian 전용 휴지통 폴더에 보관)'으로 옵션을 바꿨다.
설정을 바꾸면 .trash
폴더가 생성되고, 삭제된 파일과 노트, 첨부파일 등이 그 안에 보관된다.
.trash
폴더를 깃에 추적이 되지 않도록 .gitignore
에 미리 추가했어야 하는데, 그 과정을 생략하고 이미 푸시(push)되어 GitHub에 .trash
폴더가 올라갔다.
삭제된 파일까지 버전 관리가 필요하지는 않기 때문에 .trash
폴더를 Git 추적 대상에서 제외시켜 보자.
1. .gitignore
에 .trash
폴더 추가하기
먼저 GitHub에서 Obsidian Vault가 저장된 repository로 들어가 .gitignore
파일을 수정한다.
.trash
2. 이미 GitHub에 올라간 .trash
폴더 제거하기
.gitignore
에 추가하더라도 이미 커밋된 .trash
폴더는 자동으로 사라지지 않는다. Git 추적 목록에서 명시적으로 제거해줘야 한다.
제거를 위해 명령 프롬프트에서 다음 명령어를 실행했다.
명령어 입력
git rm -r --cached .trash
메세지 반환
fatal: not removing '.trash' recursively without -r
-r
옵션이 빠져 있다는 뜻이다..trash
가 폴더라서, -r
(recursive) 옵션을 주지 않으면 Git이 폴더를 삭제하지 않겠다는 뜻이다.
-r
옵션을 넣어 아래와 같이 명령어를 넣어보자.
명령어 입력
git rm -r --cached .trash
-r
: 폴더(.trash) 내부 파일까지 재귀적으로 제거하겠다는 의미--cached
: 로컬에서는 파일/폴더를 그대로 남기되, GitHub에서는 제거하겠다는 의미
정상적으로 삭제된 경우
.trash
폴더 안의 파일이 제거됐다는 메시지가 나타난다.
메세지 반환
rm '.trash/Pasted image 20250429100046.png'
이미 제거된 후 다시 명령어를 입력하면
메세지 반환
fatal: pathspec '.trash/' did not match any files
로컬 저장소에 .trash
라는 폴더가 이미 삭제되어 해당 이름의 파일이나 폴더를 못 찾겠다는 의미이므로 삭제가 잘 진행되었음을 확인할 수 있다.
3. 변경사항을 원격 저장소에 반영하기
변경사항을 저장하고 원격 저장소(GitHub)에 반영하기 위해 커밋, 푸시한다.
커밋 메시지는 적절하게 변경해도 된다.
명령어 입력 (한줄씩 실행)
git add .
git commit -m "Remove .trash folder from repository"
git push origin main
결론
.trash
폴더는 GitHub에서 제거되었고, .gitignore
에 의해 자동으로 무시된다.
옵시디언의 휴지통 기능은 유지하면서, 불필요한 파일들이 Git에 올라가는 것을 방지할 수 있어서 깔끔하게 저장된 저장소를 유지할 수 있다.
📌 기억할 것
git rm --cached (파일경로)
git rm -r --cached (폴더경로)
'Obsidian' 카테고리의 다른 글
옵시디언과 깃허브 연동하기 - Obsidian Git Plugin (1) | 2025.04.19 |
---|