我如何使用Git和Git Extensions?

时间:2010-12-15 15:24:00

标签: visual-studio git visual-studio-2010 git-extensions

简介

我曾经使用过SVN,当我作为一名独立程序员工作时,只是为了保留我正在做的事情的非现场记录,所以我对“存储库”和“提交”之类的想法有所了解等等虽然没有那么多。遗憾的是,“分支”,“合并”和“退房”对我来说是一个谜。

我想开始使用Git,因为我们有几个人在办公室工作,他们抱怨他们有时无法通过其他版本控制系统因为他们的IDE集成导致他们生气当他们失去联系时摔倒Git关于“每个工作目录都是一个存储库”的想法似乎应该在某种程度上解决这个问题。

无论如何,我已经下载了“Git Extensions”以将The Shiny添加到Windows上下文菜单等等。我发现我真的没有关于如何使用它来控制我的版本控制的概念。谷歌搜索后没有找到任何明显的东西,我向Stack Overflow提出以下理论场景,希望有人会用小词来告诉我该怎么做:

方案

我有三个项目。一个项目ProjectReuse由另外两个项目(ProjectA和ProjectB)使用。组织中的各个人需要使用Visual Studio 2010编辑每个项目的代码。

我桌面上有三个文件夹,标有“ProjectReuse”,“ProjectA”和“ProjectB”。我打开了Git Extenstions窗口。一头戴着圣诞老人帽子的母牛正盯着我看。

问题

我现在该做什么来创建存储库,以便几个人(包括那些讨厌的不常见的人)可以在需要时访问 存储库,站点或关闭,是否与我们的服务器有永久连接?

当第一个人需要编辑文件时,需要做什么?查看?科?我必须向其他团队成员解释这一点,我对这些概念有点不稳定,我自己。我之前只为我的个人项目使用过版本控制。

嬉戏和借口

第一个“如何设置它?”问题是我最感兴趣的,但我想如果我要问这个白痴的指南,我不妨要求它对下一个偶然发现这个问题的白痴一样有用。我不是在寻找特别深入的答案;我对于多用户版本控制系统的工作方式一无所知。一旦我记住了这一点,我应该能够自己把它们放在一起。

2 个答案:

答案 0 :(得分:10)

好的,让我们直接了解git的第一件事。 Git是分发的。根据需要多次重复此操作:没有中央服务器,中央存储库或任何中心存储器。完全与SVN形成鲜明对比的是,您并非都访问一个存储库(没有任何核心)。

您所做的是在某处创建存储库。然后其他人克隆(复制)它。现在每个人都有自己的存储库副本,可以随心所欲地使用它。分支名称甚至不需要在存储库中保持一致,尽管许多人这样做是有帮助的。

那么,你如何设置它?您初始化存储库然后每个想要它的人都克隆它。在您的情况下,我建议每个项目都有自己的git存储库,而不是将所有三个存储在一起。

但是,但是我觉得我应该如何管理一个开发团队?从不畏惧。我说没有中央存储库,但这并不能阻止你指定一个存储库作为发布存储库,另一个是实验或其他。

您需要的是工作流程。通常,您所做的是创建所述发布存储库,然后说:“每个人都在这里从主人那里拉”。这代表了您最新的“稳定”版本。现在你告诉所有人从这里开始分支并开发他们的新功能。他们这样做。当这些完成后,你要求人们将他们的更改合并到他们自己的主人或任何地方,然后你,发布经理,从他们那里(可能进入开发分支,但你可以很好地进入你的发布大师,因为它是微不足道的反向提交)。然后,下一个人更新他们的主人并进行他们的合并。他们解决自己的合并冲突等问题,等等,直到您拥有所需的所有功能。您进行测试等,然后发布存储库确实将所有这些都整合到其主服务器中。

在实践中,你可能会做很多不同的事情。例如,如果你有很多人,你将需要进行大量的沟通,因为如果很多人对你的共享项目进行了不兼容的更改,那么将会有一些合并提交。为避免这种情况,用户可以相互提取/合并或使用本地“共享”存储库。

确实有效。

答案 1 :(得分:3)

正如Ninefingers所说,只需初始化一个新的存储库并让其他人克隆它。请记住,当您需要公共(或中央)存储库时,请创建共享存储库而不是私有存储库。最简单的方法是首先创建个人存储库,然后将其克隆到每个人都可以作为共享存储库访问的位置(例如网络共享)。

我在这里为Git Extensions创建了一些视频教程: http://code.google.com/p/gitextensions/ 由于我没有麦克风或任何视频编辑技能,视频教程有点陈旧,不太好,但它应该足以让你开始。

祝你好运!