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