我有一些关于git的问题。我已经阅读了几个说明git命令如何工作的文档。但从来没有一个人谈论如何 Git可以被使用及其行为。我正在使用SmartGit作为接口,很少使用命令提示符(我应该更频繁地做)并且我连接到我网络上的我自己的git服务器。
首先,为什么在将存储库克隆到项目中时会获得子文件夹?例如,我在java中有一个项目。所以我在我的服务器上创建一个存储库,然后在我的笔记本电脑上克隆它,我克隆到的文件夹就是我/工作场所直接下的项目文件夹。但是然后在我的项目文件夹中我有另一个文件夹,这个是克隆的回购。然后我必须复制那里的所有文件,如果有任何喜欢上一个路径名,我必须解决所有问题。我错过了什么吗?
我的下一个问题是关于我们如何使用Git。我的存储库应该是多个项目的根源吗?或者每个项目一个回购?我猜每个回购一个项目,但我可能错了。有没有标准化的方法来分类我们的git文件和项目?
很抱歉,如果这个文字墙杀死任何人,但我对如何格式化我的问题没有想法。除了一两本书解释Git的机制之外,这是一次试错学习,我可能是错误的,如果有人能指出我朝着正确的方向发展,那就很高兴。
答案 0 :(得分:1)
不需要使用中央git服务器,应将其视为可选服务器。如果你有一些必须遵循的中心化工作流程,或者你很难跟踪你的队友,你会这样做。我们使用一些中央github仓库,因为有些团队成员在路上,我们传统上是一个与我们的哈德森CI服务器集成的集中式工作流程。但是,当我们决定对CVS过于沮丧时,我们首先开始采用点对点模式。
对于附加目录:在eclipse或工作区目录中从EGit克隆项目。实际上我发现这种相当正常的行为,我认为颠覆和CVS的工作方式相似吗?
1个项目 - 1个回购是AFAICT的标准。有分组元素,但我还没有想出如何使用它们。利用当前的依赖管理构建工具,我认为这已成为一个问题。
由于git repos是分发的,因此可以对它们进行排序,分类存储但最适合所讨论的回购。每个git repo都是独立完整的,并且与上一段的依赖管理构建工具相结合,它们的实际位置并不重要,这使得与IDE,CI工具,工件库的集成更容易,而不是因为它们有特殊的支持,而不是没有东西伸出它,这是顺利整合的方式。
有q免费资源详细说明:Pro Git书籍的完整文本可用here。这也讨论了一些典型的使用模式。