在我们的工作环境中使用GIT的最佳方法是什么?

时间:2012-12-13 17:00:21

标签: java eclipse git version-control egit

我们目前不使用任何类型的版本控制软件。我们最近开始使用Eclipse,我们的源代码在网络驱动器上维护。创建了一个Eclipse项目,每个人都在他们的机器上将项目导入Eclipse。由于我们的设置方式,我们总是在一天中陷入清洁/构建循环,这会影响生产力。

我们想开始使用某种VCS(很可能是GIT)。我正在构想一个集中式工作流程,每个开发人员都在他/她的机器上拥有代码的本地副本。我们宁愿将GitHub Enterprise用于共享存储库,而不是在GitHub上托管代码。

我不太清楚从哪里开始正确设置此设置。我一直在看视频和阅读教程,但似乎没有一个直接适用于我们想要做的事情。 GIT是否适用于我们想要的设置类型?另外,清理/构建如何使用Eclipse和本地副本与共享存储库一起工作?

6 个答案:

答案 0 :(得分:3)

首先,请注意this video

其次,如果您正在使用Eclipse,那么您将要使用EGit。非常详细的教程here

第三,不要把自己扔到GIT。在某些时候考虑SVN(在GIT上记录之后)。也许中央版本控制系统比分布式版本控制系统更好。

修改

哦,顺便说一下......关于这个话题,我们有一个很长很有名的Q& A right here。祝你好运。

第二次修改:

关于SVNhere您有一个关于颠覆的简单教程,而here您可以找到完整的面对面的Subversive文档。

答案 1 :(得分:2)

您现在有需求,但您的需求会发生变化。保存自己后来从SVN转移到Git并从Git开始的头痛。以下是Git优于Subversion的原因:

  1. 速度 - Git更快
  2. 磁盘空间 - Git历史记录 small 。大部分时间它占用了SVN历史的1/10空间。
  3. 没有服务器 - DVCS不允许管理员,您可以完全跳过集中式服务器。您的中央存储库可以只是网络共享上的文件。
  4. 完整性 - 数据损坏非常容易检测和纠正。
  5. 快照历史记录 - 为每个版本快照整个项目。没有与版本混合和匹配的路径。
  6. 开源依赖项 - 您可能想要使用的大多数项目都在Github上。您可以轻松地添加子模块和依赖的版本。
  7. 功率:
    • git bisect - 找到快速引入错误的地方
    • rerere - 重用你如何修复冲突的方法
    • 支持任何工作流程
    • 正确的三向合并 - 这将在未来节省大量的麻烦
    • 变基 - 即使有人合并了
    • ,您也可以保持历史的线性
  8. 我的最后一点非常重要。您刚刚开始使用源代码管理。从最佳选择开始。您处在一个您最不了解自己需求的地方。你认为自己现在不需要的东西,以后你需要保证。

答案 2 :(得分:2)

我会create a git repository on the shared drive,你根本不需要像github这样的服务器。设置完成后,开发人员可以从共享驱动器克隆到本地计算机,并在完成后将更改推回。

每个开发人员最终都会得到代码的本地副本,他们拥有自己的构建环境,而且永远不会以彼此的方式出现。

从一个示例项目开始,其中只包含一些文件并使用它,因为您需要获得一些版本控制系统的经验。还要学习git命令行工具(对于windows使用msysgit),因为互联网上的大多数例子都是为那些写的。有关git的更多信息,请务必阅读免费的git book:http://git-scm.com/book

另请参阅此question有关在Windows共享中使用git的信息:How to git clone a repo in windows from other pc within the LAN?

答案 3 :(得分:0)

EGIT for eclipse是将eit集成到eclipse项目环境中的好方法。

此外,如果你在Windows上,你可以下载Github for Windows,它非常简单,有效。

答案 4 :(得分:0)

GIT当然是首选方式,并且很好地与Eclipse IDE集成。但是你也可以使用Subversion,因为你想拥有的只是用户机器上的本地代码副本(称之为subversion分支)。我说首选的方式是因为GIT过于灵活:离线提交,代码体的完整副本而不仅仅是分支等....列表太长了。

正如您所提到的,您也可以使用github。粗略地说,步骤如下:

  1. 只需注册
  2. 创建存储库。
  3. 获取存储库的链接并将其指向Eclipse中的新git存储库
  4. 推送您的代码。承诺吧。
  5. 您将在github中拥有您的代码文件。如果你在Eclipse中安装了Git,这将有效。我相信Eclipse Juno已经安装了EGit(Git插件)

    要解决构建问题,可以使用像Jenkins这样设置一些持续集成工具。这也可以设置为Eclipse插件。

答案 5 :(得分:0)

正如一些人已经指出的那样,对于问题

  

使用GIT的最佳方式是什么?

在您的情况下(零SCM体验)最佳和公平的无偏见答案

根本不要使用Git!

与“为什么Git比Subversion更好?”相反?您也可以阅读的主题(快速召回的某些子集)

并查看git tag下的其他主题与多个哀悼的Git-boys。

虽然Subversion是一个相当不错的选择(无论如何都有一些优势:你可能会陷入“Merge Hell”,即使你认为关于开发是线性的:有些分支可能和必须< / em>发生,以“重构噩梦”与着名的“树冲突”错误...)你可以想到“可用作颠覆和强大而不是Git”的替代方案(即使你只使用小的需要部分或整体力量) : - Mercurial“面向人类的DVCS,由软件工程师为软件工程师制作,而非时尚家伙”。

  • MercurialEclipse是Eclipse请求的答案(Aragost recommendation Mercurial用户信任)
  • TortoiseHG用户友好的跨平台GUI,适用于Eclipse之外的所有Mercurial需求
  • Mercurial服务器比同等的Git-server
  • 需要更少的头痛(特别是“在Windows下”)
  • Mercurial 真正的专家可以很容易找到(而Git-boys更有趣 - 喜欢狂热的青少年俱乐部)