git annex 管理照片、音乐、视频等不适合 git 的大文件

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
回复
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

git annex 管理照片、音乐、视频等不适合 git 的大文件

#1

帖子 millenniumdark » 2013-09-06 17:45

如题,管理大文件特别方便(特别是如果妳的大文件分散在多计算机、多移动硬盘、多VPS或网盘

http://git-annex.branchable.com
头像
dukelec
帖子: 410
注册时间: 2010-08-26 22:20
系统: Gentoo
来自: Canton

Re: git annex 管理照片、音乐、视频等不适合 git 的大文件

#2

帖子 dukelec » 2013-09-06 23:57

git 我經已非常熟練,但戴上 annex 後我連它官方文檔都看不懂。。。
而且它好似依賴一個非常偏的語言執行環境,安裝好鬼麻煩。。。
求教。。。
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

Re: git annex 管理照片、音乐、视频等不适合 git 的大文件

#3

帖子 millenniumdark » 2013-09-07 18:18

dukelec 写了:git 我經已非常熟練,但戴上 annex 後我連它官方文檔都看不懂。。。
而且它好似依賴一個非常偏的語言執行環境,安裝好鬼麻煩。。。
求教。。。
官方文檔看一遍 walkthrough 即可上手,然後 tips 裏面選感興趣的看看。

基本上就是常規的git操作:git init、git rm、 git mv、 git remote add、 git commit等等。
不同的是,處理大文件時,用git annex add代替git add。
大文件的元數據由git管理,具體文件內容則由git annex管理(通過軟鏈接)。
用git annex drop可以去除本地的文件內容副本,用git annex copy/move --from/--to可以在不同倉庫間複製、移動內容。
用git annex get獲取副本(自動選擇倉庫)。
修改文件元數據,比如文件名、路徑什麼的,直接用git mv,修改內容的話,先git annex unlock,修改好之後再git annex add。
以上操作都需要git commit纔能真正生效,並且需要pull、push到其他倉庫。不過,git annex sync,可以自動幫妳commit、pull/push所有倉庫,一般用這個就可以了,不用手動commit、pull、push。
清理的話,既然是git repo,就常用git gc。
至於git annex unused、git annex dropunused,只要偶爾使用即可(多半是在磁盤空間不夠用的時候)。


Haskell 也不算偏了。
一般安裝發行版打好的包 git-annex 即可,很方便。
貌似妳用的是 gentoo ? 編譯一大堆 haskell 依賴確實很耗時。
那可以用這個二進制包: http://downloads.kitenet.net/git-annex/linux/current/
這個是最新版,所有依賴都已經打包進去了,解壓縮以後直接運行 runshell 即可使用。
回复