使用 CodeProject Workspaces::Code (::GitMachine)






4.94/5 (47投票s)
CodeProject Workspaces 已于 2014 年 8 月 30 日关闭 - 我决定保留这篇文章,因为 Workspaces 现已成为 CodeProject 历史的一部分。
Content
简介
通过 CodeProject Workspaces,Chris Maunder 和他的团队为您提供了全新的体验
使用 Workspaces::Code App 维护与您的文章、提示、技巧和参考相关的代码,并使用内置的 Workspaces::Task App 掌握您的任务。尽管 Workspaces 仍处于 Beta 阶段,我决定编写这本快速工作指南,它当然是为了帮助您:使用 Git 管理存储在 Workspaces 存储库中的代码。您可以通过 workspaces.codeproject.com 访问 CodeProject Workspaces。重要的是要了解每个 Workspace 默认包含两个模块:::Code 和 ::Tasks - 您可以添加更多,或者只选择其中一个。本文重点介绍 ::Code 模块以及如何使用 Git Bash 访问它。Chris 编写了关于 Workspaces::Tasks App 的解释,可以在此处访问。
开始之前
首先,您需要获取您首选的 Git 客户端 - 我决定使用标准客户端 (Git Bash),
由 Git 官方开发。请在 Git 下载页面获取适用于您操作系统的版本。如果您想坚持使用基于 GUI 的 Git 工具,可以从相应的 Git 页面选择一个。但请记住,本文重点介绍 CodeProject Workspaces 与 Git Bash 的使用。它也专注于 Windows,稍后可能会添加关于 Linux 和 OS X 上 Git 的指南。
安装和配置 Git [Windows]
本章解释了 Git for Windows 的安装和配置。首先,您需要执行下载的 Git 安装程序,这将带您进入安装向导的第一个窗口。
在此之后,真正的复杂部分(真正的基本配置)出现了。我将在以下步骤中推荐的设置是最佳猜测,根据您的系统有多成熟和自定义程度,您可能需要使用不同的设置。仅在第一个配置部分,您就可能弄得一团糟——如果您不知道应该选择什么,我建议您勾选“仅使用 Git Bash”。否则,请确保您知道自己在做什么。
此外,OpenSSH 对 99% 的用户来说都能正常工作。如果您属于另外 1%(或感觉自己属于),请首先检查您的保险,并确保您真的想成为那 1%。
现在变得棘手了:Git 允许您将 CRLF(Windows 行尾)替换为 LF(Unix 行尾)。仔细阅读窗口文本,并根据您使用的 IDE 选择您的设置。提示:Visual Studio 默认使用 CRLF。我非常想知道您使用的 IDE,但我看不到,因此您需要在此处做出自己的选择。
如果您已经度过难关,那么您就完成了:Git 现在已准备好安装到您的计算机上。点击“下一步”,并首次感到高兴。
如果您的系统是 x86 架构,Git 将安装到 _C:\Program Files (x86)\Git_;如果是 x64 架构,则安装到 _C:\Program Files\Git_。现在,如果您使用了默认设置并尝试输入“git”,您将收到一个错误,提示命令无法识别。这是因为 Git 使用它自己的小命令行,可以通过位于安装文件夹中的快捷方式“**Git Bash**”启动。
双击快捷方式将弹出 Git Bash
现在我们已经启动并运行了 Git Bash,我们可以开始配置我们的 Git 客户端。首先,您需要告诉客户端您的 CodeProject 显示名称和您的 CodeProject 登录电子邮件地址。
git config --global user.name "USERNAME"
git config --global user.email "E@MAIL"
每行都必须通过按回车键来提交,USERNAME 必须替换为您的 CodeProject 显示名称 - 在我的例子中是 Marco Bertschi - 您必须使用引号,例如,我输入了
git config --global user.name "Marco Bertschi"
不要为 user.email 使用任何电子邮件 - 请使用您登录 CodeProject 账户时使用的确切电子邮件地址!现在我们已经完成了枯燥的准备工作,我们可以进入有趣的部分。
设置一个全新的 Workspace
您是在项目开始阶段,还是想将现有项目移植到一个新的、更闪亮的家?现在,本章将描述如何设置一个新工作区,并指导您如何向这个新而闪亮的代码之家添加代码。此时,我期望您已经按照上述说明设置了 Git 客户端。首先,您需要在硬盘上创建一个本地存储库。我习惯将所有与 CodeProject 相关的东西存储在“C:\Code\CodeProject”下,并且我希望在子文件夹“Workspaces”中创建一个名为“Springlog”的存储库。创建此目录的命令是
mkdir C:\Code\CodeProject\Workspaces\Springlog
当然,您也可以使用文件系统资源管理器添加文件夹。要继续,当前文件夹必须设置为存储库的文件夹,我通过键入 cd <folderpath> 来完成,例如
cd C:\Code\CodeProject\Workspaces\Springlog
在继续之前,必须先在 CodeProject Workspaces 上设置一个 Workspace。转到 CodeProject Workspaces -> Workspaces -> Create a workspace。
之后您需要为您的工作区指定一个名称,如果您能简要描述您提交的代码是做什么的,那将非常棒。
请记住您给工作区起的名称,它将是用于访问工作区的 URL 的一部分。
首先你需要初始化 Git - 输入
git init
在 Git Bash 中按回车键。要将本地存储库链接到现有的 Web 存储库,您需要运行
git remote add origin [Workspace URL]
您可以在 Workspace 起始页 ::Code 模块的右上角找到您的工作区 URL。
在该示例中,要运行的确切命令是
git remote add origin https://git.codeproject.com/marcobertschi/thespringlogproject
注意:Git 使用“origin”作为您键入的 URL 的名称(如果您愿意,可以理解为快捷方式)。最后,您不能有多个名为“origin”的快捷方式,所以您可能想将其命名为“springlog_origin”(或任何适合您需要的名称)。
现在我们可以添加将成为 Web 存储库一部分的文件了。将所有要上传的文件复制到您在本地硬盘上创建的目录中,然后运行
git add -A
此命令将目录中的文件(例如 C:/Code/CodeProject/Workspaces/Springlog)添加到本地存储库,除了自动创建的子文件夹 .git。要将更改推送到 Web 存储库,您需要暂存提交并将提交推送到 Web 存储库。
暂存提交并推送到 Web 存储库
在将任何更改推送到 Web 存储库之前,您需要至少暂存一个提交。您可以将提交视为本地开发状态的快照,允许在将它们推送到 Web 存储库之前在本地存储多组更改。可以通过运行以下命令来暂存提交:
git commit -m "Commit message"
此命令将所有更改的文件添加到提交中。请记住将“提交消息”替换为关于提交中包含的更改的具体注释。您可以像这样添加多个提交,如果您只想将特定文件添加到提交中,可以运行以下命令:
git commit [File 1] [File 2] -m "Commit message"
添加至少一个提交后,您可以将已提交的更改推送到 Web 存储库。
如果这是您第一次从这个特定的本地存储库推送到 Web 存储库,您需要运行
git push -u origin master
“-u”选项表示 Git 会记住您想要将这个本地存储库推送到指定的 Web 存储库,这样您就可以使用
git push
用于将来从本地存储库推送到 Web 存储库的所有操作。
请注意,Git bash 在您输入密码时不会显示您的密码,这看起来就像您的键盘坏了一样。此行为继承自 Linux 系统 - 只需输入密码并按回车键,即使它没有显示在屏幕上。
将现有存储库拉取到本地硬盘
如果您有一个现有的 Web 存储库并想继续开发,您需要将 Web 存储库的副本拉取到您的本地硬盘。首先,您需要创建一个本地文件夹,Web 存储库将复制到其中。
mkdir PATH
或
mkdir C:/Code/Repos
如果可用,您也可以使用文件管理器创建目录。之后切换到创建的存储库。运行
cd C:/Code/Repos
由于您只是创建了一个目录(而不是本地存储库),您需要输入
git init
以便使该目录可用作 Git 存储库。
要指定本地存储库的来源,您需要运行
git remote add origin REPO-URL
如果我的 Web 存储库位于 https://git.codeproject.com/marcobertschi/thespringlogproject,我需要运行以下命令:
git remote add origin https://git.codeproject.com/marcobertschi/thespringlogproject
注意:Git 使用“origin”作为您键入的 URL 的名称(如果您愿意,可以理解为快捷方式)。最后,您不能有多个名为“origin”的快捷方式,所以您可能想将其命名为“springlog_origin”(或任何适合您需要的名称)。
完成上述所有步骤后,您终于可以将内容从 Web 存储库拉取到您自己的本地存储库了。
git pull origin master
常见问题
工作区中可用代码的概述
在工作区的主页上,您可以看到其中存储的代码的概览。此概览为您提供了大量关于代码和正在进行的开发的信息。
最重要的部分列在下面
1 提交、分支、贡献者、拉取请求等的概览
2 您的存储库的唯一 URL
3 将存储库 URL 复制到剪贴板
4 项目最新提交的列表,包括提交注释
5 显示谁对项目的贡献最大
我可以在哪里查看存储库中的代码?
您可以使用 Git 下载存储在存储库中的代码,或者在浏览器中查看它。要执行后者,请转到您想查看代码的工作区,然后点击左侧面板中的“代码”。
这将带您进入网络存储库查看器,它将向您显示存储在存储库中的代码。
用户管理
每个工作区都允许您轻松地与他人协作。您可以为拥有 CodeProject 帐户的其他人设置权限,允许他们编辑存储库中的代码,或存储库本身。
要进入用户管理设置,您需要点击顶部的“与他人共享”按钮。
瞧,如果您按照说明操作,您现在已进入该页面,您可以在其中将用户添加到您的工作区并为他们在您的项目中分配角色。
您可以通过在框 [1] 中输入他们的名字来添加用户。在添加用户之前,您还可以根据他们将能够执行的访问操作来设置他们的角色 [2]。目前有四种不同的权限级别。
- 受限用户
- 受限用户只能查看存储库内容,但不能更改。此角色仅适用于您的存储库是私有存储库的情况,否则每个注册的 CodeProject 用户都可以查看您的存储库内容。
- 普通用户
- 普通用户可以访问应用程序并编辑内容(任务,也包括代码)
- 管理员
- 管理员可以添加、更改或删除应用程序。
- Owner
- 所有者角色分配给工作区的创建者,不能分配给其他成员。您可以执行管理员可以执行的所有操作,此外还可以添加或删除工作区成员或更改其角色。
在下面的概览中,您可以看到当前有权访问工作区的用户。概览显示用户的真实姓名 [5]、显示名称 [4] 和分配的角色 [3]。
兴趣点
当我开始写这篇文章时,我对 Git 一无所知,尽管我知道如何使用 Git bash 并用它做高效的工作。在写作过程中,我真的学到了很多,不仅是关于 Git 命令,还有 Git 背后的核心原理——例如,在本地堆叠提交直到我将它们推送到 Web 存储库,这是一个全新的但 nevertheless 很有意义的想法,我相信这会极大地提高生产力。作为一名本地 TFS 用户,我可以说我越来越喜欢 Git——它简单、易于设置,甚至更容易使用。
在撰写本文期间,我并行进行了大量研究,最终找到了一些非常好的参考读物,既适合 Git 新手,也适合经验丰富的 Git 用户。
- Windows 用户基本 Git 命令行参考 - 作者:John Atten
- 一些你不知道的 git 技巧 - 作者:Mihslav Marohnic
- Git 参考