2008-09-24 100 views
9

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

回答

2

在提交文件之前,必须将它们添加到Git临时区域— 每隔时间。为了使这更容易,有一个-a选项来添加所有跟踪的文件,如git commit -a

此外,当你做git diff时,它只显示你的工作副本和暂存区域内的区别。如果您已将更改的文件添加到暂存区域,即使您可能有未提交的更改,git diff也可能不会报告任何内容。确定使用git status进行查看。

+0

...除非你命令“git diff foo/bar.file” – 2008-09-24 12:56:34

3

执行tutorial

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

我大量使用git来查看修补程序并跟踪代码如何从提交更改为提交。

-1

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

而且它与现有IDE的集成对于完成来说是远远不够的。 对于一个普通的开发人员来说,整个可用性是一个相当大的问题。

经过4名开发人员的试点后,我们转而使用Subversion作为最简单的工具。

还有Subversion的多点会议商业解决方案(我们没有尝试,但仍然会尝试不久) - WANDisco

6

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

尝试重新学习CVC,并获得DVC的心态。如果您最终只是在DVC工具中使用CVC,那么您只会因所有增加的复杂性而感到沮丧,并且您不会意识到增加的复杂性会在灵活性方面购买您。

所有的DVC工具都有很好和非常强大的支持分支和合并。用它。所有的历史都在您的指尖。用它。 (例如:从不注释掉代码,只需删除它即使在没有互联网连接的飞机上也可以随时取回。)

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

相关问题