Git에서 Fossil로 전환하기 (2025)

3 days ago 13

Git의 Rust 필수화 제안에 반감을 느낀 개발자가 개인 프로젝트를 Fossil로 옮기고, 저장소 이전부터 자체 서버 운영과 일상적인 사용법까지 정리함 Fossil은 C로 작성된 작고 자원 소모가 적은 버전 관리 도구로, 스테이징 영역 없이 Subversion에 가까운 단순한 작업 흐름을 제공함 웹 서버와 웹 인터페이스를 내장해 저장소 이력, 위키, 티켓을 함께 사용할 수 있으며, 별도 서버를 운영하지 않아도 로컬에서 웹 UI를 실행할 수 있음 Git 가져오기/내보내기와 양방향 동기화를 지원해 다시 Git으로 돌아갈 수 있고, 이전 과정에서 브랜치 이름과 커밋 작성자 이메일을 조정할 수 있음 저장소 파일과 작업 폴더가 분리되며 자동 동기화가 기본 활성화되어 있음. 간단한 명령줄 작업과 자체 호스팅을 원하는 개인 개발자와 소규모 그룹에 추천함 전환 계기와 Fossil을 선택한 이유 전환 계기는 Git의 Rust 필수화 제안에 대한 개인적 반감임 Rust 자체뿐 아니라 기존 C 프로젝트 재작성과 소셜 미디어 집단행동 등에 대한 Rust 커뮤니티의 태도를 강하게 비판함 RCS, CVS, SVN, HG, BZR, Git을 사용하거나 시험한 경험이 있어, 개인 프로젝트용 버전 관리 도구를 다시 바꾸는 데 부담이 없었음 Fossil의 소스 코드와 공식 문서를 검토한 뒤 다음 특성을 선택 이유로 꼽음 C 기반의 작고 효율적인 프로그램이며 하드웨어 자원 소모가 적음. 웹 기능에는 일부 JavaScript와 Tcl도 사용함 스테이징 영역이 없어 Subversion 같은 도구에 익숙한 사용자에게 더 단순하고 자연스러움. 스테이징은 Linux 커널 같은 크고 복잡한 프로젝트에는 유용할 수 있지만, 자신의 개인 프로젝트에는 실용적 가치가 없다고 판단함 웹 서버와 저장소 조회, 위키, 티켓용 웹 인터페이스가 내장되어 있음. Git에서 GitLab, Gitea, Forgejo 같은 외부 소프트웨어를 추가하는 방식과 대비됨 커밋 작성자에 이메일 주소 대신 사용자 이름을 사용하므로, 공개 저장소에 이메일을 노출하거나 전용 이메일을 마련할 필요가 없음 Git으로 다시 내보내거나 양방향 동기화할 수 있음. Fossil과 SQLite 프로젝트도 이 기능으로 GitHub 미러를 관리하며, GitHub 미러링 문서를 참고할 수 있음 설치와 Git 저장소 가져오기 운영체제 패키지 관리자로 Fossil을 설치할 수 있음 Devuan GNU+Linux...

Read Entire Article