我推荐git。
无论哪种方式,您都需要 USB 密钥上的规范存储库。在 git 中你可以这样做:
在 USB 密钥上创建一个“裸”存储库:
$ mkdir /path/to/usbkey/myapp.git
$ cd /path/to/usbkey/myapp.git/
$ git init --bare
Initialized empty Git repository in /path/to/usbkey/myapp.git/
裸存储库目录通常命名为“something.git” - 您可以将它们命名为任何您想要的名称,但“.git”约定使用非常广泛。
现在您可以克隆存储库:
$ cd /my/source/dir/
$ git clone /path/to/usbkey/myapp.git
Initialized empty Git repository in /my/source/dir/myapp/.git/
warning: You appear to have cloned an empty repository.
它会警告您该存储库为空。让我们在里面放一些东西:
$ cd myapp
$ echo "some stuff." > README
$ git add README
$ git commit -m 'added a README'
[master (root-commit) 155b8ea] added a README
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 README
然后将其推送到 USB 闪存盘:
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 231 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /path/to/usbkey/myapp.git
* [new branch] master -> master
当您到达另一台计算机时,只需再次从 USB 密钥克隆存储库即可。您必须确保记得推送更改,但您知道您将始终拥有备份,因为每当同步时您都会拥有存储库的三个完整副本。
使用 git 执行此操作的另一种方法是仅拥有一个存储库 - USB 密钥上的存储库。您不必记住推送它,但除非您使用其他显式备份系统,否则您的代码只会在密钥上。那会很糟糕。
如果您要在 USB 密钥上使用 SVN,您仍然需要记住以与拥有裸 git 存储库相同的方式提交和拉取您的更改,但您不会像使用 git 那样获得免费的自动备份。此外,您还会错过 git 的所有其他优点,但那是完全不同的讨论了。看为什么 Git 比 X 更好 http://whygitisbetterthanx.com/.