我可以在办公室的台式机上进行编程,有时也可以在笔记本电脑上的其他房间在家中进行编程,甚至可以不在家里。我需要的是一个可以根据需要自动或按需将我的工作从一个同步到另一个的系统。
我没有家庭网络设置,尽管我想我可以做到,但是这可能是另一个委员会的问题。我已经考虑过某种可以将源代码保存在云中的系统,但是我对此并不足够了解。我需要一种免费或廉价的方式来执行此操作。
我在.NET(实际上是Windows Phone 7)中工作。
我可以在办公室的台式机上进行编程,有时也可以在笔记本电脑上的其他房间在家中进行编程,甚至可以不在家里。我需要的是一个可以根据需要自动或按需将我的工作从一个同步到另一个的系统。
我没有家庭网络设置,尽管我想我可以做到,但是这可能是另一个委员会的问题。我已经考虑过某种可以将源代码保存在云中的系统,但是我对此并不足够了解。我需要一种免费或廉价的方式来执行此操作。
我在.NET(实际上是Windows Phone 7)中工作。
Answers:
最简单的方法是使用一种在线系统。签出GitHub或BitBucket。有关Git或Mercurial的更多信息,请分别参阅Git Reference和Hg Init。
您可以使用DVCS(如Git或Mercurial)创建本地存储库,然后安装Dropbox,然后将项目文件夹(当然包括存储库文件夹)放入dropbox文件夹。
只要您仅在同步之间的一个位置进行修改,Dropbox将处理同步,并且可以处理脱机情况。
BTW Dropbox默认情况下不会将您的文件公开,但是您仍然可以根据需要公开它们。
编辑
关于存储库完整性,以防万一Dropbox错过了同步一两个文件的麻烦,您可以在主PC的Dropbox文件夹外创建一个主存储库,然后推送到该主存储库。因此,如果Dropbox文件夹中的本地存储库已损坏,只需从主PC还原即可。但是我还没有经历过存储库损坏。
以下是有关如何设置分布式VCS的一些快速说明。使用git或mercurial的好处是您无需设置服务器即可使其全部正常工作,因为存储库只是一个文件系统。您在代码旁边的计算机中拥有本地存储库(在git 中,项目路径中有一个.git
文件夹,而在mercurial中,则有一个.hg
文件夹)。
步骤1:下载并安装git。对于Windows,您可能需要使用TortoiseGit。一些设置说明在这里。
步骤2:按照git社区手册为您的项目初始化本地存储库,然后提交到存储库。
步骤3:要将内容放置在github上的“云”上,可以按照本教程进行操作。
步骤1:下载并安装mercurial。对于Windows,您可能需要使用TortoiseHg。
步骤2:按照快速入门指南为您的项目创建存储库并提交到存储库。
第3步要将内容放在bitbucket的“云”上,可以按照本教程进行操作。
如果您使用的是.NET,则可能需要使用Mercurial,因为在撰写本文时,Windows会(更好)提供更好的支持。
正如@ peter-rowell和其他人正确说的那样,最简单的方法是使用DVCS中的任何一种(如Git)和相应的在线系统(如Github或Unfuddle)。我个人使用Git和Unfuddle。
既然您已经提到在家中连接互联网也不是问题,那么就有一个新的在线IDE运行在浏览器中并存在于云中。我以前不知道有什么可用的东西,但这看起来非常有趣和酷。虽然,我没有使用太多,但是很酷。
几乎所有DVCS都会有所帮助。
最受欢迎的是Git,Mercurial和其他一些。但我真的很喜欢化石。它是一个(小的!)可执行文件,易于移植,自包含,具有多个平台,并且包括一个Wiki,基于Web的GUI,票务系统,文档处理程序等。
我建议的选择是Kiln。它由与FogBugz和Stack Exchange完全相同的人制造。因此,它应该相当不错,而且我相信最多可供3个用户免费使用。规模就像FogBugz一样,两者可以集成在一起,因此您也可以跟踪错误和功能。
就像乔尔(Joel)在他的一篇博客文章中所说的那样,即使对于一个孤独的开发人员而言,错误跟踪和源代码控制始终是一个加号。
如果不是您的代码隐私问题,那么Google Code可能是一个可行的解决方案。它负责托管部分,并且它是免费的并且相当容易设置。它支持Subversion,Mercurial和Git,它们都具有Windows客户端。它还与Google ID集成在一起,因此您可以轻松地为项目添加贡献者。我在那里使用Mercurial托管我的业余项目。我的家庭和办公计算机上都安装了TortoiseHg客户端,因此我可以在休息期间处理我的项目。
最简单的方法可能是与git provider一起使用,github可以为私人帐户付费。
但是不要忘了svn,它简单易用。您可以在可以访问的位置安装svn服务器,可能正在工作。(并且像Visual svn server这样的项目使在Windows上的确很容易。)作为客户端,您可以使用Visual Studio插件或tortoisesvn。
您唯一需要记住的是,在切换计算机时需要提交和更新。
git init
)所花费的时间为几秒钟。使用Subversion,首先需要一台服务器,这比仅git/hg init
在目录中运行要困难得多。我不耐烦,很懒,Git鼓励我使用SCM,因为它(合并,初始化,提交)是如此的快捷和轻松。
所有其他解决方案都满足您的需求:
只需在两台计算机上安装Dropbox。
完整的源代码控制很好,但是在您的情况下,不需要IMHO。
这是最简单的方法->您最终会在任意数量的计算机上获得自动同步的文件夹。
git init
,git add .
,git commit -m "bla"
是所有你需要知道犯一些代码。不难,您可以恢复原状。当然,收益对于团队而言更为重要,但是我希望能够重新设置时间点很重要。能够分支和隐藏也使我更有生产力。