.git 和 Dropbox 在 Visual Studio 中的集成






4.71/5 (4投票s)
使用 git-SCN 和 dropbox 在云中管理代码的简单免费方法
引言
这是在云端实现源代码控制及其与 Visual Studio 集成的一个简单实现。我使用了两个术语:源代码控制和云,可以通过以下大师来管理:
背景 (灵感)
作为一名开发者,我过去使用 vss/tfs 或 git 来管理版本和源代码,但一切都是本地的,因为我负担不起拥有服务器或云来存放我的代码。在业余时间使用 git 和 dropbox 后,我想到了将它们作为一个整体来使用,我们可以使用 git 来管理我们的代码,并将其推送到永久/可访问的云系统(dropbox),等等……我们还可以与同行/朋友共享我们的 dropbox 文件夹。所以,这不就像市场上其他工具一样,成为了一个完整的客户端/服务器/云基础版本控制,并且可以供多人使用……而且是**免费**的。
因此,我在 Google 上搜索了一下,找到了 247,000 条结果(当然,我不是地球上第一个想到这个的人)。不管怎样,对于像我这样的 Git 新手来说,大多数解决方案都很复杂。所以,我找到了一个更简单的方法来实现它,并将其集成到 Visual Studio 中。
先决条件
- 安装 git extension 和 Dropbox,当然还有
- VS 2010/12 (或更新版本)
- 除此之外,我们还需要一个接口,通过它我们可以将 Visual Studio 连接到 Git 源代码版本控制。为此,请转到“VS->工具->扩展和更新”,搜索“Git Source Control Providers”并下载它。
集成
- 首先,我们需要为 VS 选择源代码控制。转到“工具->选项->源代码控制”并选择 Git Source Control Provider。
- 我假设在安装 Dropbox 后,您应该有一个名为“Dropbox”的文件夹。所以,导航到该文件夹并创建一个新文件夹来存放我们的共享/集中式存储库,将其命名为“Repos”(或您想要的任何名称)。
- 现在,我们需要将项目添加到 git 版本控制中。这可以通过右键单击解决方案或项目节点,然后选择“创建新存储库”来轻松完成。它将创建一个**本地**存储库。现在打开“挂起更改”窗口,选择所有文件,然后单击提交。
- 我们需要一个集中式存储库来存放我们的代码/源代码。因此,有两种方法可以创建一个空的**集中式**存储库。
- 转到 Dropbox->Repos 文件夹,右键单击并选择“Git Init Here”,然后将新创建的.git 文件夹重命名为“demo.git”。
- 转到 VS,打开您的项目(已在本地 git 控制中),找到挂起更改窗口,然后单击 Git Bash,或者右键单击项目资源管理器中的解决方案节点,选择 git->Git Bash。这将打开一个控制台窗口。
在控制台中键入以下命令,导航到目标文件夹
$cd d:\\ Dropbox \\ Repos
$git init --bare demo.git
以上任一步骤都将创建一个新的空白存储库。
- 现在,要将此本地项目添加到新创建的存储库中,我们需要添加一个远程。
- 从项目打开 GitBash 并键入以下命令
git remote add demoremote d:\\dropbox\repos\demo.git
- 现在使用以下命令推送更改
git push demoremote master
上述命令会将您之前提交的更改推送到中央存储库。
- 假设您的同事还没有这个项目,那么他/她需要将您的集中式(demo.git)存储库克隆到他的机器上。要做到这一点,他/她首先必须符合所有先决条件,您需要使用 Dropbox.com 与您的同事共享您的“Repos”文件夹。
- 共享完成后,您的朋友/同事将能够在他的机器上访问“Dropbox/Repos”。
- 在同事的计算机上打开 GitBash,导航到您想要源代码副本的目标文件夹,并使用以下命令
git clone file://g:\\dropbox\\repos\demo.git
(假设您的同事的 dropbox 在g:\\ 驱动器上)
- 您的同事可以创建一些远程来从存储库推送/拉取更改(如步骤 5 中所述)。
- 一切就绪。现在,当有人推送他们的更改时,您可以使用以下命令轻松获取它们
git pull someremotename master
或者通过右键单击解决方案资源管理器中的任何文件,然后选择 git->pull。
结论
我真的解释得很详细,因为我试图涵盖 Git 与 Visual Studio 的集成,但实际上它很简单快捷。我/我们学到了一种以非常有创意和高效的方式处理旧事物的新方法。请留下您的评论。如果您有任何疑问/查询,我将尽力回答您。
(**免责声明**:我并未精通 git,只是刚刚开始使用它。)
各位,世界是开放的,可以随意修改,所以这个方法也是如此。请根据您的需求使其更可用/优化/相关。