我阅读了一堆关于简单源代码控制工具的问题,而Git似乎是一个合理的选择.我已经启动并运行,到目前为止它运行良好.我喜欢CVS的一个方面是自动增加版本号.
我理解这在分布式存储库中没有多大意义,但作为开发人员,我希望/需要这样的东西.让我解释一下原因:
我用Emacs.我会定期查找第三方软件包的新版Lisp源文件.假设我有一个文件foo.el,根据标题,它是版本1.3; 如果我查看最新版本并看到它是1.143或2.6或其他什么,我知道我已经远远落后了.
如果相反我看到了几个40个字符的哈希值,我不知道哪个是后来的,或者不知道它有多晚.如果我不得不手动检查ChangeLogs以了解我是如何过时的,我会非常讨厌它.
作为一名开发人员,我希望将这种礼貌扩展到使用我的输出的人(也许我在开玩笑说,任何人都是,但让我们暂时搁置一下).我不想记得每次都自己增加该死的号码,或者时间戳或类似的东西.那是一个真正的PITA,我从经验中知道.
那么我有什么替代品?如果我不能得到$ Id:$等价物,我还能提供我想要的东西吗?
我应该提一下,我的期望是最终用户不会安装Git,即使他们这样做,也不会有本地存储库(事实上,我希望不会以这种方式提供它).
Git和CVS版本控制系统有什么区别?
我已经愉快地使用CVS超过10年了,现在我被告知Git要好得多.有人可以解释两者之间的区别是什么,以及为什么一个比另一个好?
我正在读一篇博客,作者说这个
"代码不存在,除非它被检入版本控制系统.对你所做的一切使用版本控制.任何版本控制,SVN,Git,甚至CVS,掌握它并使用它."
我从来没有使用任何类型的版本控制,我觉得它不是很好.我之前用Google搜索并查看过它,但如果你愿意的话,我只需要将它用于孩子们的条款.
正如我现在所理解的那样,像SVN这样的东西用于在线存储你的代码,供一组用户或其他开发人员访问相同的代码.更新一些代码后,您可以提交新版本,SVN将保留旧代码的副本以及您更新的新代码.
这是它的基本概念还是我完全错了?
如果我是对的,那么如果我:
我将与其他人一起使用来自使用cvs的项目的代码.我们希望使用分布式vcs来完成我们的工作,当我们完成或者每隔一段时间我们想要将我们的代码和所有修订历史记录提交给cvs.我们没有对项目的cvs repo的写访问权限,所以我们不能经常提交.我们可以使用什么工具将修订历史导出到cvs?目前我们正在考虑使用git或mercurial但我们可以使用另一个分布式vcs,如果它可以使导出更容易.
假设您有一个典型的Web应用程序和文件配置.无论如何.每个开发该项目的开发人员都有一个版本用于他们的开发盒,将有一个dev,prod和stage版本.你如何在源代码管理中处理这个问题?根本不检查这个文件,用不同的名字检查或完全做些什么?
我打算从CVS切换到Git.在SVN的情况下,似乎有cvs2svn.是否有类似的工具可以轻松地从CVS迁移到Git?
我的公司正在使用CVS作为源控制的事实标准.但是,我听说很多人都说SVN更好.
我知道SVN比较新,但除此之外,我对它的好处并不熟悉.
我正在寻找的是两个系统的良好,简洁的比较,注意到Java/Eclipse开发环境中每个系统的优点和缺点.
有没有办法列出CVS中两个标签之间已更改的所有文件?
每次我们发布版本时,我们都会将标记应用于该版本中的所有文件.我想找到版本之间发生变化的所有文件.
如果我能找到两个日期之间发生变化的所有文件,它也会起作用.
我已经同时使用了SVN和CVS,但需要为我将要开始的新项目选择一个.
任何广泛使用过的人都可以提供一些优点和缺点,他们认为哪个更好?最好的学习资源也将受到赞赏.
这将是一个小项目,只有一两个开发人员开始.
我继承了最初存储在CVS中的项目以及所有修订版.我做了很多编辑,我试图比较我在原始目录中所做的所有更改,关于添加的新文件与旧文件.
是否有某种实用的hg/git,我可以做一个树差异,或者那种性质的东西?那么说,新添加的文件,删除的文件之间有标记,我要求的太多了吗?