为了我的学校作业,我经常在不同的电脑之间切换(从实验室到我的笔记本电脑再到图书馆)。我想把这段代码放到某种版本控制下。当然问题是我不能在使用的电脑上安装额外的软件。有没有一种版本控制系统可以保存在一个闪存驱动器上?我有一个2GB的驱动器可以用来存储,但如果必要的话我可以得到一个更大的驱动器。
顺便提一下,我正在做的项目并不是特别大。
编辑:这需要在Windows下工作。
第二次编辑:Bazaar最终是我选择的。如果使用TortoiseBzr会更好。
为了我的学校作业,我经常在不同的电脑之间切换(从实验室到我的笔记本电脑再到图书馆)。我想把这段代码放到某种版本控制下。当然问题是我不能在使用的电脑上安装额外的软件。有没有一种版本控制系统可以保存在一个闪存驱动器上?我有一个2GB的驱动器可以用来存储,但如果必要的话我可以得到一个更大的驱动器。
顺便提一下,我正在做的项目并不是特别大。
编辑:这需要在Windows下工作。
第二次编辑:Bazaar最终是我选择的。如果使用TortoiseBzr会更好。
我使用Git进行这个操作。简单来说,创建一个你的目录的Git仓库:
git-init
git add .
git commit -m "Done"
插入U盘,切换到其中的目录(我有一个使用-o loop挂载的大型ext2文件),然后执行以下操作:
将棒子插入电脑,进入其中的目录(我有一个大的ext2文件,在其中使用-o loop挂载),然后执行以下命令:
Insert the stick, cd to its directory (I have a large ext2 file that I mount with -o loop), and run:
git-clone --bare /path/to/my/dir
然后,我将U盘插到其他计算机上(家用电脑等)。我可以直接在U盘上工作,或者再次克隆。进入硬盘上的某个目录,并执行以下操作:
git-clone /path/to/stick/repos
当我完成修改后,我会使用'git push'将更改推回stick上。当我回到工作时,我会再次使用'git push'将更改从stick移动到工作电脑上。设置完成后,您可以使用'git pull'仅获取更改(不需要再次克隆,只需要第一次),并使用'git push'将更改向另一个方向推送。Darcs非常适用于这个目的。
设置:
darcs init
darcs add -r *
darcs record -am "Initial commit"
在您的实验室计算机上创建存储库:
darcs get E:\path\to\repos
检查您所做的更改:
darcs whatsnew # Show all changed hunks of code
darcs whatsnew -ls # List all modified & new files
通过交互式方式从您的更改中创建新补丁:
darcs record
与驱动器上的仓库交互地推送补丁:
darcs push
它在处理大型项目时速度较慢,但我在处理小到中等规模的个人项目时从未遇到过性能问题。
由于不需要安装,您甚至可以省略驱动器,只需从网络上获取darcs二进制文件 - 如果我忘记了我的驱动器,我会从我保留在网络空间的镜像中拉取要处理的存储库的副本,然后将补丁作为文件创建并发送电子邮件给自己:
darcs get http://example.com/repos/forum/
# Make changes and record patches
darcs send -o C:\changes.patch
虽然我现在很想尝试Bazaar。
更新:我在我的USB驱动器上设置了PortablePython,虽然简单,但是让它包含Bazaar是艰难的...... 一个接一个的依赖项,而且我已经在使用svn了。
如果有人知道一个易于使用的可移植安装程序,我会很感激。
我推荐使用Fossil http://www.fossil-scm.org/
它包括以下特点:
我在这里找到了一些说明here。
我把Subversion安装在我的U盘上,只需直接运行官方二进制文件即可。但是这种方法的问题是需要使用命令行或能够运行批处理文件。当然,我会将我的U盘文件同步到自己租用的服务器上。如果你不想花钱购买网络托管空间,也可以将代码库存储在桌面上(使用file:///协议)。
RCS
的目录。当需要检查东西时,运行ci -u $FILE
。(二进制文件还要求您在第一次检入之前运行rcs -i -kb $FILE
。)RCS
目录中有一堆,v
文件,与CVS兼容,如果你希望“升级”到那个系统,(然后从那里转换到其他版本控制系统),就可以使用这些文件。 :-)