Technical Note ( 图形版 ) TN01010101 V1.00 Date:2018/08/21 类别 内容 关键词 GitHub,AMetal 摘 要 本文介绍如何使用 GitHub 来进行 AMetal 的协同开发
修订历史 版本日期原因 V1.00 2018/08/21 创建文档 i
目录 1. 适用范围... 1 2. GitHub 准备工作... 2 2.1 安装 git for Windows... 2 2.1.1 下载 git for Windows... 2 2.1.2 安装 git for Windows... 2 2.1.3 安装完成... 2 2.1.4 创建 GitHub 账号... 3 3. 协同开发... 5 3.1 获取源码... 5 3.2 Git GUI 汉化... 7 3.3 Git GUI 权限设置... 7 3.4 获取源码... 10 3.5 源码同步... 12 3.6 向上同步代码... 13 3.7 请求合并到源码库... 16 4. 免责声明... 20 1
1. 适用范围 本文档适用于使用 Github 进行协同开发的操作,GitHub 用于开源项目, 周立功公司的 Ametal 代码也在上面开源, 通过 GitHub 可以获取到代码进行开发, 本文档就如何安装 GIT 插件, 如何获取源码, 如何创建创建账号, 如何将源码导入自己的仓库, 如何克隆到本地进行使用, 如何进行代码同步, 如何将修改的代码上传到仓库, 以及如何贡献自己的代码到原仓库中等 本文使用 Github 图形版进行操作, 如需要使用指令模式 GitHub 操作, 请参考文档 GitHub 协同开发指南 ( 指令版 )V1.00.pdf 1
2. GitHub 准备工作 在进行源码获取之前, 我们需要安装 Git for Windows 软件和创建一个自己的 GitHub 账号 2.1 安装 git for Windows 2.1.1 下载 git for Windows 访问 https://gitforwindows.org 该网址, 下载 git for Windows 工具, 如图 2.1 所示 图 2.1 下载 git for Windows 2.1.2 安装 git for Windows 下载得到的是 exe 文件, 如图 2.2 所示, 双击启动安装 ( 全部默认设置即可 ) 图 2.2 安装 git for windows 2.1.3 安装完成 安装完成后, 点击鼠标右键可以看到 Git bash here 和 Git GUI here 选项, 点击 Git GUI here, 可进入 Git GUI 命令窗口, 如图 2.3 所示 图 2.3 安装完成 2
2.1.4 创建 GitHub 账号 1. 访问 GitHub 官网, 登录 https://github.com, 注册一个自己的账号 填入自己的信 息后, 点击注册 如图 2.4 所示 图 2.4 创建 github 账号 2. 如图 2.5 所示, 点击 continue( 免费使用, 所建仓库为公共仓库, 所有人均可见 ) 图 2.5 点击 continue 3. 选择计划用 github 做什么, 信息收集表,( 直接跳过即可 ), 如图 2.6 所示 3
图 2.6 点击跳过 4. 激活邮箱, 注册邮箱会收到一封邮件, 点击其中的激活链接即可, 如图 2.7 所示 到此准备工作完成 图 2.7 激活邮箱 4
3. 协同开发 3.1 获取源码 1. 账号注册完成之后, 使用自己的账号登录到 GitHub 官网, 搜索 AMetal 仓库, 如图 3.1 所示 图 3.1 搜索 Ametal 仓库 2. 在搜索结果中选择 zlgopen/ametal, 一般为搜索结果第一个既是, 如图 3.2, 也 可在浏览器地址栏中直接输入 AMetal 开源地址 :https://github.com/zlgopen/ametal 图 3.2 搜索 AMetal 3. 将 Ametal 仓库 fork 到自己的仓库, 如图 3.3 所示, fork 前, 可以点击 watch 和 star watch 后, 如果仓库有更新会邮件通知 5
图 3.3 fork 操作 4. fork 完成后, 自己账号下也有一个 ametal 仓库了, 如图 3.4 所示, 自己账号下的 仓库即有权限修改, 这个仓库的地址为 : https://github.com/yanjianxiong/ametal 图 3.4 fork 完成 5. 将仓库克隆到本地以便使用, 查看 clone 地址, 如图 3.5 所示 图 3.5 查看 clone 地址 6
3.2 Git GUI 汉化为简化 Git GUI 的使用, 可从网上可下载 Git GUI 的汉化包 把汉化包中的 msgs 文件夹 copy 到 Git 安装目录 /mingw64/share/git-gui/lib 下, 重新打开,Git GUI 已变成中文版, 如图 3.6 所示 3.3 Git GUI 权限设置 图 3.6 汉化 1. 启动 GUI, 点击帮助, 选择 show SSH Key, 添加密钥, 如图 3.7 所示 图 3.7 选择 show SSH Key 2. 密钥生成, 将生成的密钥拷贝, 如图 3.8 所示 7
图 3.8 密钥生成 3. 登录到自己的 GitHub, 在你的账号设置里, 先点击 SSH and GPG keys, 再点击 New SSH key, 如图 3.9 所示 图 3.9 点击添加 SSH 4. 点击添加新的 SSH 密钥,Title 可以自己设置, 例如 home company 等, 然后粘 贴前面复制的密钥, 最后点击 Add SSH key, 如图 3.10 所示 8
图 3.10 添加密钥 5. 添加完成之后, 我们可以看到在密钥一栏, 出现一栏我们刚才添加的密钥, 如 图 3.11 所示 图 3.11 密钥添加成功 6. 接下来, 我们设置环境变量, 如果不做设置的话, 每次提交都要询问你填写密钥, 我们需要提前把这个设置好 打开电脑属性, 点击环境变量, 点击添加新环境变量, 如图 3.12 所示 9
图 3.12 点击添加环境变量 7. 添加变量名和值, 这里我们可以设置变量名为 Home, 设置变量值 为 %USERPROFILE%, 点击确定, 如图 3.13 所示 图 3.13 添加变量名和变量值 3.4 获取源码 1. 上面的操作完成之后, 我们接下来通过 GIT GUI 来获取远端仓库的源码到本地, 点击鼠标右键, 点击克隆代码到本地, 如图 3.14 所示 10
图 3.14 选择克隆已有版本 2. 添加源码指向地址, 设置一个本地存储位置, 注意, 该位置必须在目录文件夹不 存在, 如图 3.15 所示 图 3.15 克隆文件到本地 3. 克隆时间根据文件大小而定, 这里我们等待之后会提示克隆成功, 我们可以打开 我们前面指定的目录, 查看克隆到的源码 如图 3.16 所示 11
图 3.16 克隆完成 3.5 源码同步 zlgopen/ametal 项目在不断维护, 可能会上传新的代码, 或者修复已有代码的一些问题 本地使用的代码应该与 zlgopen/ametal 上的代码经常同步, 保持一致 1. 进入我们刚才克隆到的代码的目录里, 右键点击 git GUI, 弹出 Git GUI 的工作界面, 源码同步, 我们选择远端 fetch 从 orgin, 点击从远端同步到本地, 如图 3.17 所示 图 3.17 远端同步到本地 12
3.6 向上同步代码 1. 在本地修改自己的代码后, 自己的远程仓库 (yanjianxiong/ametal) 还未更新, 需要上传更新自己的代码到自己的远程仓库, 这里我们在源码中添加一个 test 文本, 里面加一条 hello 的代码, 我们在该目录下打开 Git GUI 之后, 会检测到已修改的内容, 如图 3.18 所示 图 3.18 修改内容已检测到 2. 点击提交为缓存, 我们可以看到点击之后, 修改内容已下移到缓存提交状态栏, 操作方法如图 3.19 所示 图 3.19 点击缓存为提交 13
3. 添加到缓存之后, 我们点击签名, 这个是非常有必要的, 尤其是对于团队开发, 我们需要知道是谁提交的东西, 以及添加描述和备注, 记录本次上传修改了哪些内容, 方便 以后查阅和检查, 如图 3.20 所示 图 3.20 添加文本测试 示 4. 点击提交, 提交成功之后, 会显示创建了该提交内容, 告知提交人, 如图 3.21 所 图 3.21 添加内容到缓存 14
5. 接下来我们点击上传, 如图 3.22 所示, 点击上传后, 会询问你要上传的分支, 这 里我们默认是 origin, 点击上传 图 3.22 添加日志 6. 上传成功之后, 有提示如图 3.23 所示 图 3.23 上传到自己的 GitHub 库 7. 登录到仓库查看, 可看到已上传成功, 如图 3.24 所示 15
图 3.24 登录查看上传情况 3.7 请求合并到源码库开源项目永远期待更多的人加入, 为开源贡献自己的力量 若修改没有问题, 可以请求将修改合并到 zlgopen/ametal 开源项目中 1. 登录到 github, 查看自己的修改内容, 如图 3.25 所示 ( 这里由于我修改时公司电脑绑定邮箱无法收到外部邮件, 故这里提示修改人为 unknown, 如用自己电脑, 可以看到修改人为自己的用户名 ) 图 3.25 查看自己的修改内容 2. 检查修改, 确认无误, 如图 3.26 所示 16
图 3.26 检查修改 3. 创建新的 pull 请求, 如图 3.27 所示 图 3.27 点击红框所示添加请求 4. 发起 pull 请求, 如图 3.28 所示 17
图 3.28 发起 pull 请求 5. 添加修改内容的描述主题等, 方便原库管理人员检查, 如图 3.29 所示 图 3.29 添加申请原因 6. 在合并之前, 可以关闭请求, 如图 3.30 所示 18
图 3.30 关闭合并请求 19
4. 免责声明应用信息 本应用信息适用于 AMetal 产品的协同开发设计 客户在开发产品前, 必须根据其产品特性给予修改并验证 修改文档的权利 本手册所陈述的产品文本及相关软件版权均属所有, 其产权受国家法律绝对保护, 未经本公司授权, 其它公司 单位 代理商及个人不得非法使用和拷贝, 否则将受到国家法律的严厉制裁 保留在任何时候修订本用户手册且不需通知的权利 您若需要我公司产品及相关信息, 请及时与我们联系, 我们将热情接待 20
销售与服务网络 地址 : 广州市天河区龙怡路 117 号银汇大厦 16 楼邮编 :510630 电话 :020-38730916 38730917 38730976 38730977 网址 :www.zlgmcu.com 传真 :020-38730925 深圳周立功 地址 : 深圳市福田区深南中路 2072 号电子大厦 1203 室 周立功厦门办 地址 : 厦门市思明区厦禾路 855 号英才商厦 618 室 电话 :18650195588 电话 :(0755)82941683/82907445 传真 :(0755) 83793285 华南汽车地址 : 深圳市坪山区比亚迪路大万文化广场 A 座 1705 电话 :0755-83781788/83782922 传真 :0755-83793285 上海周立功地址 : 上海市黄浦区北京东路 668 号科技京城东座 12E 室电话 :021-53083451/53083452/53083453 传真 :021-53083491 周立功苏州办地址 : 江苏省苏州市广济南路 258 号 ( 百脑汇科技中心 1301 室 ) 电话 :0512-68266786 & 18616749830 周立功宁波办地址 : 浙江省宁波市高新区星海南路 16 号轿辰大厦 1003 电话 :0574-87228513 / 87229313 南京周立功地址 : 南京市秦淮区汉中路 27 号友谊广场 17 层 F G 区电话 :025-68123901/68123902/68123919 传真 :025-68123900 杭州周立功地址 : 杭州市西湖区紫荆花路 2 号杭州联合大厦 A 座 4 单元 508 电话 :0571-89719484/89719499/89719498 传真 :0571-89719494 周立功合肥办地址 : 安徽省合肥市蜀山区黄山路 665 号汇峰大厦 1607 电话 :13851513746 北京周立功地址 : 北京市海淀区紫金数码园 3 号楼 ( 东华合创大厦 )8 层 0802 室电话 :010-62635033/62635573/62635884 传真 :010-82164433 周立功天津办地址 : 天津市河东区十一经路与津塘公路交口鼎泰大厦 1004 室电话 :18622359231 21
周立功山东办地址 : 山东省青岛市李沧区青山路 689 号宝龙公寓 3 号楼 311 电话 :13810794370 武汉周立功地址 : 武汉市武昌区武珞路 282 号思特大厦 807 室电话 :027-87168497/87168297/87168397 传真 :027-87163755 周立功西安办 地址 : 西安市高新区科技二路 41 号高新水晶城 C 座 616 室电话 :15877395051 & 15399027011 周立功郑州办地址 : 河南郑州市中原区百花路与建设路东南角锦绣华庭 A 座 1502 室电话 :17737307206 周立功长沙办地址 : 湖南省长沙市岳麓区奥克斯广场国际公寓 A 栋 2309 房电话 :0731-85161853 周立功沈阳办地址 : 沈阳市浑南新区营盘西街 17 号万达广场 A4 座 2722 室电话 :18940293816 重庆周立功地址 : 重庆市渝北区龙溪街道新溉大道 18 号山顶国宾城 11 幢 4-14 电话 :023-68796438/68796439/68797619 传真 :023-68796439 成都周立功地址 : 成都市一环路南二段 1 号数码科技大厦 403 室电话 :028-85439836/85432683/85437446 传真 :028-68796439 香港周立功地址 : 香港新界沙田火炭禾香街 9-15 力坚工业大厦 13 层电话 :(852)26568073 26568077 22