在我开始使用它之前,我应该了解Git的哪些方面?

时间:2008-09-24 12:24:12

标签: git version-control

我使用“传统”版本控制系统来维护过去项目的源代码存储库。我正在与一个分布式团队开始一个新项目,我可以看到使用分布式系统的优势。鉴于我理解SourceSafe,CVS和Subversion;你对Git新手有什么建议吗?

5 个答案:

答案 0 :(得分:12)

Git - SVN Crash Course是一个很好的阅读材料。

答案 1 :(得分:7)

根据我自己从Subversion迁移到Git的经验,最重要的不是你需要学习什么,而是你需要忘掉。分布式版本控制非常与集中版本控制不同。 CVC是DVC的一个子集,因此您可以在DVC工具中进行CVC,但它比使用CVC工具更复杂。

尝试忘掉CVC,并进入DVC思维模式。如果你最终只是在DVC工具中进行CVC,你只会对所有增加的复杂性感到沮丧,你不会意识到增加的复杂性会给你带来灵活性。

所有DVC工具都具有伟大的,并且对分支和合并提供了非常强大的支持。用它。所有历史记录都在您的指尖。用它。 (例如:永远不要注释掉代码,只需将其删除即可。即使在没有互联网连接的飞机上也可以将其取回。)

Git的一个非常重要的方面:所有其他工具都有或多或少定义的工作流程。 Git没有。 Git是DVCS工作流程构建工具包。这使得有时很难知道该做什么:你必须设计和实现自己的工作流程(提示:使用大量的shell脚本)。我现在使用Git超过一年了,我还没有完全弄清楚我的工作流程。

答案 2 :(得分:3)

执行tutorial

然后玩弄它。在开始使用主代码库之前,做一个小玩具项目来感受它。

我经常使用gitk来查看补丁并跟踪代码如何从提交更改为提交。

答案 3 :(得分:2)

在提交文件之前,必须将它们添加到Git临时区域 - 每个时间。为简化此操作,我们可以-a添加所有跟踪文件,例如git commit -a

此外,当您执行git diff时,它仅显示您的工作副本与暂存区域中的内容之间的差异。如果您已将更改的文件添加到暂存区域,即使您可能有未提交的更改,git diff也可能不会报告任何内容。使用git status查看。

答案 4 :(得分:-1)

我在公司里试过git。 我们使用CVS并希望转向更好的VC工具。 我们选择git作为文件版本控制的最佳工具(Linus on GIT)。 它的性能是最好的,对于深入理解版本控制的开发人员来说,它是一个非常好的工具,但对于在后台使用版本控制并且不想学习如何使用的常规开发人员而言,这是一个噩梦几个小时(他们确实需要学习很多)

此外,它与现有IDE的集成还远远不够完善。 对于普通开发人员来说,整个可用性是一个非常大的问题。

在有4名开发人员的飞行员之后,我们切换到最简单的Subversion,尽管不是那么优秀的工具。

还有Subversion MultiSite的商业解决方案(我们尚未尝试但很快就会尝试) - WANDisco