서버에서 많은 대용량 파일(~0.5-1TB)을 처리하고 있습니다. 서버에서 이러한 파일의 버전을 추적하는 더 나은 방법을 원합니다.
내 제한적인 이해는 이것이 git LFS를 사용하여 달성할 수 있다는 것입니다. 실제로는 파일을 저장하지 않고 기존 저장소를 사용합니다.
Linux(또는 기타 운영 체제)는 파일에 마지막으로 액세스한 시점의 타임스탬프를 추적합니다. 하지만 "오늘 XYZ 때문에 이 데이터를 변경했습니다"("git commit"과 유사)와 같은 추가 정보가 필요합니다.
이것이 Git LFS에 대한 합리적인 작업입니까? 아니면 평범한 Git인가요? (또한 이 상황에서 다른 버전 추적 솔루션이 있습니까?)
답변1
git-annex를 사용해 보셨나요?
https://git-annex.branchable.com/
git-annex를 사용하면 git에서 파일 내용을 확인할 필요 없이 git을 사용하여 파일을 관리할 수 있습니다. 모순되는 것처럼 보일 수도 있지만 메모리, 시간 또는 디스크 공간 제약으로 인해 현재 git이 쉽게 처리할 수 있는 것보다 큰 파일을 작업할 때 유용할 수 있습니다.
Git Attachment는 여러 원격 장치 간의 리포지토리를 관리할 수 있으며 각 원격 장치에는 서로 다른 모드(클라이언트, 전송, 백업, 전체 백업 등)가 있습니다. 또한 웹 인터페이스가 더 간단하지만 CLI를 자주 사용해야 합니다.
파일 추가를 사용한 후에 git annex add .
는 파일을 이동 .git/annex/objects
하고 모든 파일을 심볼릭 링크로 바꿉니다. 그런 다음 get
해당 항목을 개별적으로(동일한 컴퓨터 또는 다른 원격 컴퓨터에서) 사용하고 가져오거나 삭제할 수 있습니다 drop
. 저장소에 커밋하는 것은 일반적인 git 저장소와 똑같이 작동하지만 git-annex가 파일을 처리합니다.
이것은 베어본 개인 클라우드 스토리지 솔루션입니다.