2011-03-23 51 views

回答

2

版本控制系统在与另一个人或成千上万的人一起工作时真正发光;当人们处理文件时,他们很可能会在相似的空间工作。源代码控制系统让您合并将多个开发人员变成一个一致的产品,回滚错误,弄清楚谁写了哪些特定的代码行(问他们为什么他们的代码在两个月后不工作),提供出色的业务连续性等

但他们依然精彩只有一个开发者:您在评论有关为什么你做了一些特殊的方式能找到一些值得他们重的黄金六个月后。您可以同时检查依赖于四个独立文件的大型更改,然后,如果需要撤消它,一个命令将立即退出所有四个文件的更改。

3

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

我总是可以去我的终端并键入git status,看看我已经改变了哪些文件。我可以输入git diff来查看这些更改。如果我决定我的更改不好,我想回到我刚才的位置,只需输入git checkout .即可。

3

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

我会说Git比任何其他SCM提供更多的灵活性。

+1

这适用于所有DVCS与集中式DVCS相比。 – eckes 2011-03-23 09:05:14

+1

问题是“Git如何有用?”所以我这样回答。 – hnprashanth 2011-03-23 09:23:16

1

版本控制系统让你更轻松地跟踪对文件的改变......所以说你编辑一个文件,并将其提交到系统几次在一个星期......如果东西坏了,你可以进去看看所有特定的行逐行更改,直到找到导致问题的更改为止......如果要保存文件的不同副本,这会更困难吗? (这个功能太棒了,以至于我知道作者使用它来跟踪他们正在编写的书籍的变化)。

但是,它真正发光的地方是不同的开发人员正在研究特定文件同时 ...因此,如果我编辑400行代码文件的行1-20,和编辑97 - 143,版本控制系统,这样当你去做一个更新,你会得到这些更改合并在一起我更改合并到您的文件中,并可以看到我的代码如何影响您所写的内容。

更好的是,如果我们已经在相同的代码行上工作,版本控制系统将尝试合并这些更改,如果不是,它会警告您冲突......然后您可以与其他开发人员一起解决并找出如何手动合并您的更改。当然,版本控制你平时工作的一个更大的软件,所以你也可以拉更新到其他文件,你是不是工作的直接任意。

使用Git,你会得到一个真正的其他的杀手级功能,使开发人员昏厥......

说你是工作在你的代码,努力尝试将功能添加到您的软件,BU你会得到一个紧急呼叫, '请修复XYZ,网站不工作!“

如果没有版本控制,您必须将所有刚添加的内容注释掉,然后尝试修复问题,如果您在某处忘记了某些内容,当你试图追捕你引入的新bug时,可能会导致更多的问题,因为你不记得你写的所有新代码(你能告诉我以前去过吗?)...用Git,你可以简单地'分支'(创建一个不同的你的代码的虚拟副本)...并且处理你的新功能......然后,当这个3am调用进来时,你可以切换回软件的主要稳定分支,提交修复,并将其激活。 ..然后回去工作你的功能。
非常漂亮的好吗?

有很多的你与版本控制系统(特别是GIT)免费获得其他的事情,(建于比较同一文件的版本的能力,整个代码库使用Git,改变提交信息能力的本地化副本和历史等等)。

我推荐免费的Git的社区书能帮助你走好
https://github.com/rails/jquery-ujs
希望这有助于

相关问题