我支持许多正在使用Subversion来版本控制工作的.Net开发人员,但是我们遇到了许多问题,这些问题似乎围绕着Visual Studio用来pipe理项目,debugging等的附加文件。具体来说,这些文件似乎正在导致冲突,因为他们已经在回购。 我知道如何把它们弄出来,以及如何处理它们,但是我需要知道他们是什么。 那么,什么是Subversion可以忽略的文件/目录,为什么它们可以被忽略?(也就是说,这些文件是做什么的?) 这是一个庞大的,而不是组织的ASP.Net网站,部署该网站是通过。 svn更新,所以IIS需要的文件dynamic编译(我认为这是什么)该网站作为文件的变化需要留在回购。
使用集中式和分布式版本控制系统(DVCS)有什么好处和缺点 ? 你有没有遇到DVCS的任何问题,你是如何防范这些问题的? 保持讨论工具不可知和燃烧到最低限度。 对于那些想知道什么DVCS工具可用的人来说,下面是一个最着名的免费/开源DVCS列表: Git (由C语言编写)由Linux Kernel和Ruby on Rails使用 。 Mercurial (由Python编写)由Mozilla和OpenJDK使用 。 Bazaar (用Python编写)由Ubuntu开发者使用 。 Darcs (写在Haskell)。
我一直在开发一些软件,并希望给它的版本号。 我该怎么做呢? 一些软件如何获得1.3v1.1这样的两个版本? 或者一些有3个数字 – 4.0.1 这一切背后的方法是什么? 谢谢。
我在CS部门教授第三个必要的介绍课程。 我的一项家庭作业要求学生加快编写以前作业的代码。 十因子加速是例行公事; 100或1000的因素并不是闻所未闻的。 (对于1000的加速因素,你必须用malloc()做出菜鸟错误。) 程序是通过一个序列改进的小改变。 我要求学生logging和描述每个变化和由此产生的改善。 当你正在改进一个程序时,也可以打破它。 退出是不是很好? 你可以看到我要去的地方:我的学生从版本控制中受益匪浅。 但是有一些警告: 我们的计算环境被locking。 任何依赖中央存储库的东西都是可疑的。 我们的学生令人难以置信的超载。 不只是class级,还包括工作,运动,音乐,你可以把它命名。 对于他们来说,使用一个新的工具,它必须是非常容易,有明显的好处。 我们的学生成对完成大部分工作。 在帐户之间来回访问是有问题的。 这个问题也可以通过分布式版本控制来解决吗? 复杂性是敌人。 我知道build立一个CVS存储库太困难了 – 我自己仍然有麻烦,因为我只做一年一次。 我被告知SVN更难。 以下是我对现有系统的评论: 我认为中央版本控制(CVS或SVN)已经被排除了,因为我们的学生没有必要的pipe理权限来创build一个可以与其他学生共享的存储库。 (我们坚持使用Unix文件权限。)另外,CVS或SVN上的安装太难了。 darcs很容易build立,但是如何分享内容并不明显。 darcs发送(通过电子邮件发送补丁)似乎很有前景,但不清楚如何设置它。 git的入门文档不适合初学者。 就像CVS设置一样,这是我自己遇到的问题。 我正在征求关于什么源代码控制与初学者一起使用的build议。 我怀疑我们可以find资源,把薄薄的单板放在现有的系统上,并简化现有的文档。 我们可能没有资源来编写新的文档。 因此, 与合作伙伴一起设置 , 提交 , 还原和共享变更非常容易,但是并不一定很容易合并或按规模进行工作。 一个关键的约束是编程对必须能够彼此共享工作,而且只能彼此共享,并且每一 对都会变化 。 我们的基础设施是使用netapp文件pipe理器的Linux,Solaris和Windows。 我怀疑我的IT人员想为每一对学生创build一个Unix组。 有没有更容易的解决scheme,我忽略了? (感谢接受的答案,由于其对Git Magic的极好的参考以及有用的评论而击败了其他人)。
你们是否在你select的源代码pipe理系统中跟踪存储过程和数据库模式? 当你做一个改变(添加一个表格,更新一个存储过程,你如何将改变到源代码控制? 我们在工作中使用SQL Server,并且我已经开始使用darcs进行版本控制,但是我会对一般策略以及任何方便的工具感到好奇。 编辑:哇,谢谢所有伟大的build议,家伙! 我希望我可以select多个“可接受的答案”!
一些背景: 我已经按照使用NuGet的教程没有提交一些成功的包 。 通过手动添加<RestorePackages>和一个<Import …> nuget.targets文件解决了这个NuGet问题后 ,事情正在工作。 但是,一旦我使用Mercurial克隆存储库,构build时出现以下错误: 无法find“C:\ … \ Visual Studio 2010 \ Projects \ MyProject \ .nuget \ nuget.exe” 这是有道理的,因为我的忽略模式阻止我检查exe文件。 从这个相关的SO问题中,我推断出这个文件在版本控制(或者是?)中并不罕见,但是如果我可以帮助的话,我真的不希望将NuGet.exe提交到版本控制 。 问题:有没有一种方便的方法来防止需要检查NuGet.exe? 我已经尝试了一些Google-fu,浏览文档,并且用NuGet.targets文件摆弄,到目前为止没有运气。 如果我可以dynamic指向构build解决scheme的特定环境的NuGet.exe,似乎更可取。 我知道我可以添加exe文件,但我更想知道是否有其他方法来处理这个问题,或知道为什么没有可行的select。 更新: nuget.targets文件包含一些相关的xml: <!– only (relevant) parts of the xml shown below –> <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe> … <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll"> <Task> <Code Type="Fragment" […]
我目前是一个单独的开发者; 请与您分享一个独立开发人员的良好VC设置经验。 我的约束是; 我在多台机器上工作,需要保持同步 有时我离线工作 我目前正在使用Subversion(只是客户端到远程服务器),这是工作正常。 我对Mercurial和git DVCS感兴趣,但是没有一个用例对我的情况有意义。 编辑:我已经把我的活跃发展移植到化石http://www.fossil-scm.org/与客户端试用后。 我真的很喜欢这些function来自动同步我的仓库(减less意外叉),文档支持(维基和embedded/版本),支持我需要在不同的空间文档的代码和项目,易于configuration问题跟踪,控制,skinnable网页界面和有用的社区。
有什么区别: git add . git commit -a 我应该做两个,还是多余的?
因为我正在努力学习IBM Rational ClearCase,所以我想听听您的专业意见。 与其他版本控制系统(如Subversion或Git)相比,我对优势/劣势特别感兴趣。
我在Visual Studio 2013中添加了一个新的TFS解决scheme,我select了Git而不是TFS。 我想删除Git绑定,并添加TFS。 我知道你可以从文件 – > 源代码控制 ,删除TFS绑定,但这似乎不是一个select在这里。 如何从Visual Studio解决scheme中删除Git绑定,并添加TFS? 谢谢