版本控制总新手

Nei*_*eil 22 versioning

我对编程世界完全陌生,对术语和典型方法的理解很少.

前一段时间我正在编写一些代码,但在删除错误的代码时意外删除了一些好的代码.从那时起,我开始创建我的文件版本,我会用日期和版本号命名每个文件.

但是,这很麻烦,必须为每个文件指定一个唯一的名称,然后转到我的核心文件并更改对新文件名称的引用.

然后,就在前几天我不小心写了一些重要的东西,即使用这种方法,可能是因为命名错字.

不用说,这种方法很糟糕.

我正在寻找有关更好的做法,更好的工具的建议.我一直在看版本控制,但很多,git svn看起来很复杂.这个想法是加快整个版本控制过程,而不是通过必须执行命令行更难.

现在我希望有一个工具可以在每次点击ctrl-s时保存文件的唯一版本,并给我一个按钮来创建最终版本.

当然,如果有完全不同的做事方式的建议,那将更加令人敬畏.

感谢大家.

Ale*_*man 17

这个问题有两种方法:

  1. 按需版本控制.这是subversion,CVS等使用的模型等.当您进行"重大"更改时,您决定告诉系统"保留此版本".
  2. 自动版本控制.这是一些旧的VAXen,Eclipse,IDEA,每个wiki使用的模型,以及一些作者的工具.每次保存时,都会隐式创建新版本.在某些删除时,可能会剔除旧版本(例如,一周前只执行一个版本的工作,而不是每次保存).

这听起来像你更喜欢#2,因为它是"万无一失" - 你永远不必去,"哎呀,我应该在进行这项改动之前'检查'/'保留'我的工作." 你总是可以回滚.一个缺点是您必须手动逐步查看旧版本以查找内容,因为与#1不同,您通常不会给出每个更改的描述.

另一个缺点是,对于大文件或不易扩散/修补的文件(即二进制文件),您将开始非常快速地刻录磁盘空间.

另外,听起来您不需要标准SCM系统中90%的功能 - 分支,标签等 - 但您最终可能会发现它们的用途.从长远来看,学习一个可能是一个胜利.您可以使用svn等执行此操作,但需要进行一些自定义.如果您使用可编写脚本的编辑器(emacs,vi,TextMate等),您可以将"保存"命令重新定义为"保存并制作新版本".


Mar*_*ham 13

颠覆或多或少是黄金标准.

我建议(特别是对于新手)你检查BeanStalk(www.Beanstalkapp.com)为你的客户运行你的subversion服务器和TortoiseSVN.

祝好运!

  • VisualSVN服务器免费且易于设置,TortoiseSVN是一个很棒的客户端.强烈推荐. (5认同)
  • 颠覆*是黄金标准(没有限定词),击败了CVS和VSS.现在它只是*某些*社区的黄金标准.其他人已经或多或少完全迁移到Git.那些社区会说Git"或多或少是黄金标准".:) (5认同)
  • 尼尔 - 我认为你可能会错过版本管理方面的大局.首先,版本管理确实适用于整个项目的快照.也就是说,你不会单独保存每个文件(这是一场噩梦).相反,您执行一批工作,然后将整个项目目录保存到SVN(实际上只保留差异).这可确保您在整个项目中始终拥有一致的快照.这并不妨碍您以任何方式恢复单个文件,而且我已经多次执行此操作.其次...(续) (2认同)

Tim*_*ugh 6

无论你做什么,如果有人提到Visual SourceSafe - 尽可能快地运行.VSS由撒旦自己创建并传承给世界各地的开发者.


has*_*sen 5

我认为你处在一个你必须从你的舒适区域稍微离开并花些时间学习git的位置.这很容易学习和使用.

相信我,这真的很值得.学习git所花费的时间是花费的时间.