반응형

옵시디언에서 노트나 파일을 삭제할 때 기본 설정은 '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

+ Recent posts