我有一台 Debian 计算机和一台 MacBook Air。在 Debian 上我创建了一个存储库:
mkdir -p /repository/git/2014.git
cd /repository/git/2014.git
git init --bare --shared
然后我在 MacBook 上输入:
cd /path/to/2014-pictures
git init
git add .
git commit -m "initial commit"
git remote add origin lozsui@debianbox:/repository/git/2014.git
git push origin master
现在,git add .
花git push origin master
了相当长的时间。
我选择这种方法是因为我发现它很容易应用。如果 MacBook 上添加一些新图片,我可以git push origin master
很容易地debianbox:/repository/git/2014.git
再次添加它们。此外,我一路上得到了版本控制。
当我坐在我的 Debian 计算机前时,我只是这么做git clone /repository/git/2014.git /to/bring/pictures/to/the/place/I/need/them
。
现在,你们知道更好的方法来实现我基本上想做的事情吗?
答案1
以这种方式使用 Git 是一个非常糟糕的主意。它并不意味着存储二进制数据,因此每次修改相同的图像时,您都会保留两个副本(旧的+新的)。另外,它并不是移动此类数据最快的方法。
如果您喜欢 Git 界面,您可以使用git-annex
反而。它利用 Git U/I,但允许将“后端”替换为更适合二进制数据的后端。
git-annex 允许使用 git 管理文件,而无需将文件内容检查到 git 中。虽然这看起来有些矛盾,但在处理大于 git 当前可以轻松处理的文件时,无论是由于内存、时间还是磁盘空间的限制,它都是有用的。
git-annex 是为喜欢命令行的 git 用户设计的。对于其他人来说,git-annex 助手将 git-annex 变成一个易于使用的文件夹同步器。