2GB USB驱动器的版本控制

对于我的学校工作,我做了很多切换电脑(从实验室到笔记本电脑到图书馆)。 我有点喜欢把这个代码下的某种版本控制。 当然,问题是我不能在我使用的电脑上安装额外的软件。 有什么版本控制系统,我可以保持拇指驱动器? 我有一个2GB的硬盘来放这个,但如果有必要,我可以得到一个更大的。

我所做的项目并不是特别的大。

编辑:这需要在Windows下工作。

编辑二:集市结束了我所select的。 如果你和TortoiseBzr一起去,那会更好。

你可以使用可移植的Python和Bazaar (Bazaar是一个Python应用程序)。 我喜欢用Bazaar来为自己的个人项目,因为它极其简单。 另外,它可以是可移植的,因为Python可以移植。 您只需要在可移植的Python安装中安装它的依赖关系。

我用Git做这个。 简单地说,创build一个你的目录的Git仓库:

git-init git add . git commit -m "Done" 

插入棍子,CD到它的目录(我有一个大的ext2文件,我用-o循环挂载),然后:

 git-clone --bare /path/to/my/dir 

然后,我把棍子拿到别的电脑(家里等)。 我可以直接在棍子上工作,或再次克隆。 转到硬盘上的某个目录,然后:

 git-clone /path/to/stick/repos 

当我完成变更后,我会“推”回去,当我回到工作中时,我再次推动'把'变化从一根棍子转移到工作电脑上。 一旦你设置好了,你可以使用'git pull'来获取更改(不需要再克隆,只是第一次)和'git push'以其他方式推送更改。

这样做的好处是你可以看到所有的变化,甚至在两个地方同时变化的时候保持一些不相关的工作同步。

如果你不喜欢命令行,你可以使用graphics工具,如gitk和git-gui。

Darcs对此非常好。

  • 我不能担保其他平台,但在Windows上它只是一个可执行文件,你可以保留在驱动器上。
  • 最重要的是,它的交互式命令行界面非常棒,而且很快就变得直观了(我现在真的错过了任何VCS中缺乏交互式提交的提交),你不需要记住许多命令作为正常工作stream程的一部分。 这是我把它用于个人项目的主要原因。

configuration:

 darcs init darcs add -r * darcs record -am "Initial commit" 

在实验室机器上创build一个存储库:

 darcs get E:\path\to\repos 

检查你已经改变了什么:

 darcs whatsnew # Show all changed hunks of code darcs whatsnew -ls # List all modified & new files 

从更改中交互式创build新的修补程序:

 darcs record 

将修补程序交互推送到驱动器上的存储库:

 darcs push 

众所周知,对于大型项目来说,速度会很慢,但是我从来没有遇到过任何性能问题。

由于不需要安装,所以你甚至可以不使用驱动器,只需从networking上获取darcs二进制文件 – 如果我忘记了驱动器,我从镜像中提取了一个我想要处理的存储库的副本,我一直在web空间,然后创build并通过电子邮件将补丁发送给我自己的文件

 darcs get http://example.com/repos/forum/ # Make changes and record patches darcs send -o C:\changes.patch 

最好的答案是某种DVCS(stream行的是Git , Mercurial , Darcs , Bazaar …)。 原因是你有任何你使用的机器上的整个资源库的完整副本。 我还没有亲自使用这些系统,因此其他人将会推荐一款占地面积小,跨平台兼容性好的DVCS。

我会用git 。 Git仓库非常小,不需要守护进程。 你可以在你的闪存上安装cygwin或者msysgit 。

编辑: 这里是一些在闪存驱动器上安装Cygwin的说明

只需在棒上添加额外的资源Subversion 。 我刚刚在我的4GB USB驱动器上设置了它,非常简单而且无痛。

以为我现在很想尝试集市。

更新:我在我的USB驱动器上安装了PortablePython,很简单,但是在那里获得集市…我放弃了,一个接一个的依赖,并且因为我有svn工作。
如果有人知道一个简单的便携式安装程序,我会很高兴。

我推荐化石http://www.fossil-scm.org/

包括

  • 命令行
  • DVCS
  • 跨平台(并且易于编译)
  • “自动同步”命令使同步到备份的基本任务变得容易。
  • 备份服务器configuration是一个轻而易举的事情。
  • 易于学习/使用
  • 很有帮助的社区
  • 包含wiki和bugtracker的web ui。
  • 3.5Mb,单个可执行文件
  • 一个sqlite数据库作为存储库

你可以把颠覆的二进制文件放在那里 – 它们只有16个megs,所以你也有足够的空间存放一些存储库。 你可以使用命令行中的官方二进制文件,或者将一个graphics工具(如TortoiseSVN )指向版本库目录。 如果你觉得自己喜欢,那么你可以使用驱动来自动运行SVNSERVE应用程序,只要插入驱动器,任何一台计算机都可以成为一个轻量级的Subversion服务器。

我在这里find了这个过程的一些说明。

我在我的拇指驱动器上使用颠覆,官方的二进制文件将正常工作。 这个技巧的问题是你需要访问一个命令行才能工作或者能够运行batch file。 当然,我将我的拇指驱动器上的文件同步到我支付的服务器上。 如果您不想在networking上获取托pipe空间,则始终可以将资源库托pipe在桌面上(使用file:///协议)。

我会说这个答案私刑,但它在Windows下工作: RCS 。

您只需使用您的代码在每个目录中创build一个RCS目录。 当有时间检查的时候, ci -u $FILE 。 (二进制文件还需要您在首次签入之前运行rcs -i -kb $FILE 。)

RCS目录里面有一堆,v文件,它们与CVS兼容,如果你想“升级”到那一天(从那里到其他VCS系统的其他海报提到)。 🙂

颠覆会有点工作。 看到线程

就个人而言,我更喜欢把所有东西都放在一台机器和远程桌面上。

闪存和版本控制似乎不是我的耳朵好主意。 恐怕内存很快就会耗尽,尤其是如果你大量使用各种版本控制操作,这些操作使得很多小的磁盘操作(合并,回复等等)都可以使用。

至less,确保您尽可能经常备份存储库,以防驱动器出现故障。

我根据米兰Babuškov的答案使用GIT:

(1)创build存储库并提交(在办公室PC上)

mkdir / home / yoda / project && cd / home / yoda / project

git init

git add。

git commit -m“完成”

(2)插入U盘并对存储库进行克隆

猫/ proc /分区

mount -t ext3 / dev / sdc1 / mnt / usb

git clone –bare / home / yoda / project / mnt / usb / project

(3)把USB棒带回家,在家里做一个克隆库

猫/ proc /分区

mount -t ext3 / dev / sdc1 / mnt / usb

git clone / mnt / usb / project / home / yoda / project

(4)从家用PC推回提交到U盘

mount -t ext3 / dev / sdc1 / mnt / usb

cd / home / yoda /项目

混帐推

(5)将U盘拿到办公室,然后从手柄向办公室PC推送提交

mount -t ext3 / dev / sdc1 / mnt / usb

cd / mnt / usb / project

混帐推

(6)将办公电脑提交到U盘

mount -t ext3 / dev / sdc1 / mnt / usb

cd / mnt / usb / project

混帐拉

(7)从USB记忆棒提交到家用电脑

mount -t ext3 / dev / sdc1 / mnt / usb

cd / home / yoda /项目

混帐拉

bitnami栈颠覆它很容易安装。 你可以尝试安装与portableapps.com和颠覆xampp。