什么是版本控制系统? Git有用吗?

时间:2011-03-23 06:53:13

标签: ruby-on-rails git version-control

例如我在rails上使用ruby并使用git进行版本控制。

4 个答案:

答案 0 :(得分:3)

我使用git作为唯一的开发者,我无法想象没有它的生活。有了git,我总是知道我在做什么以及我修改了什么。我可以做出实验性的改变,而不必担心不记得我改变了什么。我可以查看旧版本的文件,以防我删除了现在我想要的内容。

我总是可以转到我的终端并输入git status,看看我更改了哪些文件。我可以输入git diff来查看这些更改。如果我认为我的更改不好,我想回到原来的位置,我只需输入git checkout .

答案 1 :(得分:3)

关于Git最好的部分与其他源代码控制系统不同,Git可以离线工作。无论您是在飞机上,还是在家中,还是在没有连接的地方。您仍然可以将更改提交到本地git存储库&在连接时将其推送到集中式服务器(如果有的话)。让Git非常强大的另一件事是'Branches'。如果您想要修复错误或想要尝试新的东西而不会损害您当前的工作代码,只需创建一个分支&在...上下功夫。当分支中的工作正常时,您可以将其合并到主分支。

我认为Git比其他SCM提供更多的灵活性。

答案 2 :(得分:2)

当你与另一个人或成千上万的人合作时,版本控制系统真的很闪耀;当人们处理文件时,很有可能他们会在类似的空间中工作。源代码控制系统允许您将来自多个开发人员的合并更改合并为一个连贯的产品,回滚错误,找出谁编写了哪些特定代码行(问他们为什么他们的代码在两个月后无法运行),提供出色的业务连续性等。

但是他们对于一个开发人员来说仍然很精彩:查看关于为什么你以某种特定方式做某事的评论可能值得他们在六个月后用金重量。您可以同时检查依赖于四个单独文件的大型更改,然后,如果您需要撤消它,一个命令将同时取消所有四个文件的更改。

答案 3 :(得分:1)

版本控制系统允许您更轻松地跟踪文件的更改...所以说您编辑文件并在一周内将其提交给系统几次......如果出现问题,您可以进入并查看所有文件随着时间的推移逐行更改您对该文件所做的更改,直到找到导致问题的更改...如果您正在保存文件的不同副本,那就更难了? (这个功能太棒了,我知道用它来跟踪他们正在写的书的变化的作者!)

但它确实闪耀的情况是,不同的开发人员同时处理特定文件 ...所以如果我编辑400行代码文件的第1-20行,并且您编辑97 - 143,版本控制系统可以将这些更改合并在一起,这样当您进行更新时,您可以将我的更改合并到您的文件中,并且可以看到我的代码如何影响您编写的内容(如果有的话)。

更好的是,如果我们使用相同的代码行,版本控制系统将尝试合并这些更改,如果不是,它会警告您冲突。那么你可以与其他开发人员联系并找出如何手动合并你的更改。当然,对于版本控制,您通常会处理更大的软件,因此您也可以将更新转移到您不直接处理的其他文件中。

使用git,你会得到另一个让开发人员昏昏欲睡的杀手级功能......

假设您正在处理您的代码,努力尝试为您的软件添加功能,请拨打紧急电话,“请修复XYZ,网站无法使用!”

如果没有版本控制,你必须注释掉你刚刚添加的所有东西,然后尝试解决问题,如果你忘记了某些地方,当你试图追捕新的时候可能会导致更多的问题你介绍的错误,因为你不记得你写的所有新代码(你能告诉我以前去过那里吗?)...用Git,你可以简单地“分支”(创建一个不同类型的代码虚拟副本)...并处理你的新功能...然后当凌晨3点的呼叫进入时,你可以切换回软件的主要稳定分支,提交修复,推送它......然后回去工作关于你的功能。
非常好看吧?

你可以免费获得版本控制系统(特别是git)的许多其他东西,(内置能够比较同一文件的版本,整个代码库的本地化副本与git,更改提交消息的能力和历史等等。)

我建议免费的Git社区书籍来帮助你 https://github.com/rails/jquery-ujs
希望这有帮助