我是Ruby on Rails平台的新手,所以这听起来有点幼稚。
为什么以及何时将我们的工作存储在像git这样的版本控制系统中?
我的意思是它有什么优势!我们不能把它放在我们当地的机器上吗?
答案 0 :(得分:3)
使用git / source控件的优点:
为自己
与团队合作
何时存储或提交您的作品:
您希望每次完成特定的“想法”或正在处理的工作时都这样做。这意味着您可以获得有用的提交消息,并且可以回到您刚刚编写的该功能或您刚修复的错误。
使用Git而不是其他源代码控制的原因
答案 1 :(得分:1)
是的,这看起来很天真,但每个问题都值得一提!
首先,使用SCM(软件配置管理器)将在很多场景中为您提供极大的帮助:
如果在没有SCM的团队中工作,这甚至都没有开始触及你所拥有的无限量的工作。
使用SCM不涉及网络git
,任何其他分布式SCM对本地开发同样有效,因为存储库全部在您的计算机中。你只是不拉扯。
答案 2 :(得分:1)
选择的不是将代码存储在版本控制中而不是将其存储在本地计算机上。实际上,与其他版本控制系统(如Subversion,也称为svn
)不同,Git不需要运行服务器。
版本控制可以让您轻松了解所做的更改,查看和恢复旧版本的文件,甚至可以将更改从一个版本导入另一个版本。
RETRIEVAL:想象一下,您正在自己开发一个项目。您删除了一个您认为不再需要的旧文件。一周后,您意识到该文件非常重要。如果使用版本控制,则可以在删除文件之前查看文件的外观,并将其恢复为从未删除过的文件。此外,提交版本控制的大多数更改都包含消息;如果您加入团队并且之前的开发人员使用版本控制(具有良好的提交消息),您可以更轻松地了解更改的时间和原因。
多个发布(分支):现在想象您的软件是1.0版。您正在忙于处理2.0版本,但有人提交了一个错误。你能做什么?使用版本控制,您可以缩放回1.0版,进行一些更改,然后创建版本1.0.1。大多数版本控制平台甚至允许您将版本1.0.1中所做的更改应用到您在2.0版中所做的工作。
多个功能:您的软件非常成功,您每周都会开始发布它。但是,并非每个功能都可以发布。首先,您开始处理小部件功能,而不是开始处理 doodad 功能。如果您同时处理这两个问题,那么您可能同时开发了两个半编码功能,并且没有任何工作可以很好地发布。使用版本控制,一旦完成其中一项功能,您就可以将其合并到“主”版本中,就像您在一天内编写它一样。
合作:最后,现在想象一下,你们是一个由五六个开发人员组成的团队,他们都在使用相同的代码。当然,您不希望来回发送代码的zip文件,特别是当每个开发人员都在处理单独的功能时。使用版本控制,您可以拥有一个历史记录,所有开发人员都可以编写和阅读这些历史记录。
当然,上面的一些操作可以通过在不同的相邻目录中保留相同文件的多个副本来完成。版本控制软件的好处是它可以为您处理大部分工作,同时避免在磁盘上反复复制相同的文件。
啰嗦 - 抱歉 - 但希望有所帮助!
答案 3 :(得分:1)
使用git的优点:
答案 4 :(得分:1)
您看到@arulmr,@kieran-andrews,@Jeff和@rewritten发布了许多优势,但如果您想详细了解详情,请参阅以下链接
1)http://git-scm.com/book/ch8-1.html
2)http://www-oss.fnal.gov/~mengel/git_vs_subversion.html.bak
3)https://git.wiki.kernel.org/index.php/GitSvnComparison
4)http://www.wikivs.com/wiki/Git_vs_Subversion #History,架构,许可,性能,git和svn的特性
现在git和subversion之间的区别
1)http://boxysystems.com/index.php/5-fundamental-differences-between-git-svn/