对于我的学校工作,我做了很多切换计算机(从实验室到我的笔记本电脑再到图书馆)。我有点想将此代码置于某种版本控制之下。当然,问题是我不能总是在我使用的计算机上安装额外的软件。是否有任何类型的版本控制系统可以保存在拇指驱动器上?我有一个 2GB 的驱动器来安装它,但如果需要,我可以买一个更大的驱动器。
我正在做的项目并不是特别大,仅供参考。
编辑: 这需要在 Windows 下工作。
编辑二: 集市最终成为我选择的。如果您使用 TortoiseBzr,那就更好了。
对于我的学校工作,我做了很多切换计算机(从实验室到我的笔记本电脑再到图书馆)。我有点想将此代码置于某种版本控制之下。当然,问题是我不能总是在我使用的计算机上安装额外的软件。是否有任何类型的版本控制系统可以保存在拇指驱动器上?我有一个 2GB 的驱动器来安装它,但如果需要,我可以买一个更大的驱动器。
我正在做的项目并不是特别大,仅供参考。
编辑: 这需要在 Windows 下工作。
编辑二: 集市最终成为我选择的。如果您使用 TortoiseBzr,那就更好了。
我用 Git 做这个。只需为您的目录创建一个 Git 存储库:
git-init
git add .
git commit -m "Done"
插入棒,cd 到它上面的目录(我有一个用 -o 循环挂载的大 ext2 文件),然后执行:
git-clone --bare /path/to/my/dir
然后,我把棍子带到其他电脑(家里等)。我可以直接在棒上工作,或者再次克隆。转到硬盘上的某个目录,然后:
git-clone /path/to/stick/repos
当我完成更改后,我会“git push”返回到棒,当我回到工作岗位时,我再次“git push”将更改从棒移动到工作计算机。设置完成后,您可以使用 'git pull' 仅获取更改(您不再需要克隆,只是第一次)和 'git push' 以另一种方式推送更改。
这样做的美妙之处在于,您可以使用“git log”查看所有更改,甚至在两个地方同时发生更改时保持一些不相关的工作同步。
如果您不喜欢命令行,可以使用 gitk 和 git-gui 等图形工具。
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
您可以使用Portable Python和Bazaar(Bazaar 是一个 Python 应用程序)。我喜欢将 Bazaar 用于我自己的个人项目,因为它非常简单。另外,它可以移植,因为 Python 可以移植。你只需要在你的 Portable Python 安装中安装它的依赖项。
只是为了在 Stick 上添加额外的资源Subversion。我刚刚在我的 4GB USB 驱动器上进行了设置,非常简单且无痛。
以为我现在很想尝试 Bazaar。
更新:我已经在我的 USB 驱动器上设置了 PortablePython,很简单,但是在那里得到了集市……我放弃了,一个接一个地依赖,因为我已经 svn 工作了。
如果有人知道一个简单的便携式安装程序,我会很高兴。
我推荐 Fossil http://www.fossil-scm.org/
包括
你可以把颠覆二进制文件放在那里——它们只有 16 兆,所以你也有足够的空间来存放一些存储库。您可以从命令行使用官方二进制文件,或将图形工具(如TortoiseSVN)指向存储库目录。如果您喜欢,那么您可以安装驱动器以自动运行 SVNSERVE 应用程序,在您插入驱动器的那一刻,将任何计算机变成轻量级颠覆服务器。
我在这里找到了有关此过程的一些说明。
我在我的拇指驱动器上使用颠覆,官方二进制文件将在驱动器上运行。这个技巧的问题是您需要访问命令行才能使其工作或能够运行批处理文件。当然,我将拇指驱动器上的文件同步到我付费的服务器。如果您不想在网络上获得托管空间,您可以始终将存储库托管在桌面上(使用 file:/// 协议)。
我会因为说出这个答案而被处以私刑,但它在 Windows 下有效:RCS。
您只需RCS
使用您的代码在每个目录中创建一个目录。到了办理入住手续的时候,ci -u $FILE
. (二进制文件还要求您rcs -i -kb $FILE
在第一次签入之前运行。)
如果您希望有一天“升级”到那个目录(并从那里升级到其他海报提到的任何其他 VCS 系统),目录中有一堆文件,它们与 CVS兼容RCS
。,v
:-)
颠覆会有点工作。见线程
就个人而言,我更喜欢将所有内容保存在一台机器上,并将远程桌面保存在其中。
在我看来,闪存和版本控制似乎不是一个好主意。恐怕内存很快就会用完,特别是如果您广泛使用各种版本控制操作,这些操作会进行许多小磁盘操作(合并、来回恢复等)。
至少,请确保尽可能多地备份存储库,以防驱动器发生故障。
根据 Milan Babuškov 的回答,我正在使用 GIT:
(1) 创建存储库并提交(在办公室 PC 上)
mkdir /home/yoda/project && cd /home/yoda/project
混帐初始化
混帐添加。
git commit -m "完成"
(2) 插入 U 盘并克隆存储库
猫/proc/partitions
mount -t ext3 /dev/sdc1 /mnt/usb
git clone --bare /home/yoda/project /mnt/usb/project
(3) 把U盘带回家,在家里做一个仓库的克隆
猫/proc/partitions
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/项目
git 推送
(5) 将 U 盘带到办公室并将提交从 U 盘推送到办公室 PC
mount -t ext3 /dev/sdc1 /mnt/usb
cd /mnt/usb/项目
git 推送
(6) 从办公室 PC 拉取提交到 U 盘
mount -t ext3 /dev/sdc1 /mnt/usb
cd /mnt/usb/项目
git 拉
(7) 从 U 盘拉取提交到家用 PC
mount -t ext3 /dev/sdc1 /mnt/usb
cd /home/yoda/项目
git 拉
bitnami stack subversion 很容易安装。您也可以尝试使用portableapps.com 和subversion 安装xampp。