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。