GitDrive는 macOS Finder에서 비공개 GitHub 저장소를 드라이브처럼 쓰게 하는 오픈소스 앱이다. 파일 목록은 바로 표시하고 파일을 열 때 내려받으며, 다운로드한 파일은 Mac에서 제거해도 GitHub에 남길 수 있다.
최상위 폴더마다 drive-<folder>라는 비공개 저장소를 만들고, 파일을 저장할 때마다 커밋을 남긴다. 따라서 이전 버전을 저장소 기록에서 복구할 수 있다. GitHub 웹사이트나 다른 Git 클론에서 바꾼 내용도 1분 안에 Finder에 반영되며, 양쪽에서 수정한 경우 두 사본을 모두 유지한다. 파일은 GitHub API를 통해 직접 처리하며 로컬 클론을 만들지 않는다.
선택 기능으로 종단 간 암호화를 제공한다. 프로젝트는 ML-KEM-768과 X25519를 사용하며, 암호화를 켜면 GitHub에는 파일명·폴더 구조·파일 크기가 없는 무작위 데이터가 저장된다고 설명한다. 이 기능에는 macOS 26이 필요하다. 자세한 내용은 암호화 문서를 참고할 수 있다. 설정의 Extras에서는 Quick Look, 버전 보기, 중복 파일 찾기, 사진·메모 기능 등도 선택해 켤 수 있으며, 항목과 기본 설정은 Extras 문서에 정리돼 있다.
설치와 사용 조건
GitDrive는 사전 빌드 파일을 제공하지 않는다. macOS 14 이상과 무료 Xcode, Xcode에 등록한 Apple ID가 필요하며, 유료 개발자 계정은 필요하지 않다. File Provider 확장 프로그램을 불러오려면 개발자 팀 서명이 필요해 각 사용자가 직접 빌드해야 하고, 이렇게 만든 빌드는 빌드한 Mac에서 실행된다.
저장소를 내려받고 설치 스크립트를 실행한다.
git clone https://github.com/deeeeone/gitdrive.git
cd gitdrive
./scripts/install.sh
스크립트는 필요한 경우 XcodeGen을 설치하고 서명 팀을 찾은 뒤 앱을 빌드해 /Applications에 복사하고 실행한다. 직접 빌드하려면 다음 명령을 사용한다.
brew install xcodegen
cp Config/Local.xcconfig.example Config/Local.xcconfig
그다음 Config/Local.xcconfig에서 DEVELOPMENT_TEAM과 GITDRIVE_BUNDLE_ID를 설정하고 다음 명령을 실행한다.
xcodegen generate
open GitDrive.xcodeproj
앱을 처음 실행한 뒤 GitHub에 로그인한다. 빌드에 OAuth Client ID가 있으면 GitHub 로그인을 선택할 수 있고, 그렇지 않으면 repo와 delete_repo 권한이 있는 개인 액세스 토큰을 입력한다. delete_repo 권한이 없으면 최상위 폴더를 삭제할 때 저장소를 보관 모드로 바꿔야 한다. macOS 설정에서 GitDrive의 File Provider 확장 프로그램을 허용한 뒤 Finder에서 폴더를 만들면 비공개 저장소가 생성된다. 기존 저장소는 Settings → Folders → Your other repos에서 드라이브에 추가할 수 있다.
GitHub 사용량과 데이터 처리
GitHub는 일반 파일 호스팅 서비스가 아니므로 저장소 크기와 사용량 제한을 고려해야 한다.
| 제한 | 내용 |
|---|---|
| 파일당 100 MB | Settings → General → Large files에서 Git LFS를 켜면 파일당 최대 2 GB까지 저장할 수 있다. |
| Git LFS 할당량 | GitHub Free는 LFS 저장 공간 10 GiB와 월 다운로드 10 GiB를 제공한다. 파일을 여는 것도 다운로드로 계산된다. |
| 저장소 크기 | GitHub는 저장소를 1 GB 미만으로 유지할 것을 권장하고 5 GB 미만을 강력히 권장한다. 1 GB를 넘으면 메뉴 막대 앱이 경고한다. |
| 기록 | 삭제한 파일도 저장소 크기에 포함된다. Compact History를 실행하면 현재 파일만 남긴다. |
| API 요청 | 시간당 5,000회 제한이 있다. GitDrive는 조건부 요청을 사용하고 제한에 가까워지면 요청을 늦춘다. |
| 최상위 항목 | 최상위 항목마다 저장소가 하나씩 생기므로 파일은 최상위가 아니라 폴더 안에 넣어야 한다. |
대량의 비코드 데이터를 저장하기 전에는 GitHub의 허용 사용 정책을 확인해야 한다. 암호화 키는 iCloud Keychain에 보관하고, 암호화된 저장소에는 공개 키만 둔다고 프로젝트는 설명한다. GitHub 토큰은 앱과 확장 프로그램이 공유하는 macOS Keychain에 저장된다. 최상위 폴더를 삭제하면 확인 절차 뒤 저장소도 삭제되지만, 설정에서 삭제 대신 GitHub에 읽기 전용 보관본을 남기도록 바꿀 수 있다. 다른 파일 삭제는 커밋으로 기록돼 저장소 기록에서 복구할 수 있다. 분석·텔레메트리를 수집하지 않으며 GitHub 외의 서버를 사용하지 않는다고 명시했다.
구조와 동기화 방식은 아키텍처 문서에서 확인할 수 있다. 보안 문제 신고는 SECURITY.md, 기여 방법과 테스트 안내는 CONTRIBUTING.md에 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요