【Git分布式版本控制系统】远程仓库Github

来源:互联网 发布:mac速度慢怎么办 编辑:程序博客网 时间:2024/05/17 17:59

作者:郭孝星
微博:郭孝星的新浪微博
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
Github:https://github.com/AllenWells

Girhub提供代码托管服务,它的特色在于可以非常方便地从另外一个项目进行分支。

一 为何要深入Github

Github,Build software better, together.

我们应该去深入了解Github,不仅仅是因为它方便易用的代码托管服务,更多的是因为在Github上存在非常之多的优质开源框架,这些开源框架使我们学习与工作的得力助手。

我们可以从哪几个角度使用Github来提升自己?

  • 入门级:从别人的框架Demo入手作代码分析
  • 实践级:重构别人框架的代码,做代码优化
  • 提高级:创建自己可用的框架,提升项目开发效率
  • 高手级:快速构建大型应用,完善敏捷开发
  • 大师级:构建通用的框架,为常见问题提供解决通用解决方案

那面对茫茫多的框架我们该怎么入手呢,因为笔者主要从事的是Android的开发,这里就从Android的开源框架说起。

首先推荐一个Github上的帖子,它针对Android的开源项目做了细致的匪类和总结。值得参考。

Android开源项目汇总

这里写图片描述

其实到这里我们会发现上面帖子里的项目还是很多,我们精力有限,有没有更精简的总结呢?

答案是肯定的,我们从一个应用的设计的角度,它无非可以分为一下几个主要的模块:

  • 网络通信
  • 图片管理
  • 数据存储
  • 组件通信
  • 数据处理

下面我们就针对这几个模块推荐几个最为常用的开源框架。

网络通信

Volley(Volley给出的是Google官网地址,没有vpn可能连不上)

okhttp

图片管理

glide

fresco

Android-Universal-Image-Loader

picasso

数据存储

ActiveAndroid

greenDAO

组件通信

EventBus

otto

数据处理

fastjson

对开源框架的研究不求多但求精,做到举一反三,笔者后续的文章也会针对上述提到的框架进行用法分析和源码分析。

二 开始使用Github

2.1 注册Github账号

登录Github官方网站,注册Github账号,如下所示:

这里写图片描述

2.2 创建GIthub仓库

仓库(repository)即版本库,我们可以把它理解成一个目录,这个目录里面的所有文件都会被Git管理起来,Git会跟踪每个文件的修改、删除等操作,以便任何时刻都可以追踪历史,或者在将来某个时刻可以还原。

当我们在Github上注册了账号之后,我们就可以创建仓库了,Github仓库的创建非常简单如下所示:

这里写图片描述

创建界面如下所示:

这里写图片描述

创建完成后的仓库界面如下所示:

这里写图片描述

2.3 配置Git

2.3.1 配置公钥

公钥提供了一种身份验证机制,当我们把生产的公钥添加到我们的Github账户中,我们就在操作中无需再输入密码。

1 创建一个公私钥对

ssh-keygen -t rsa -C "allenwells@163.com"

这里写图片描述

创建完成后生成了两个文件如下所示:

这里写图片描述

2 添加ssh_key(私钥)到SSH

ssh-add ssh_key

ssh_key内容如下所示:

-----BEGIN RSA PRIVATE KEY-----MIIEpAIBAAKCAQEArUA0e1Ho6sAN4YTBELvO6xBgbYg5yJYCblvOnd808h86XWtTbB9B6AW4cDOrTxvNM8ByylvMrWOEi30bFjEMkQ38krjOZTIz+TNdMgsvICIiXv/4DcOebhnLKBV1flnFMs9ZmbtYMNNv7RDkAOgCkw4AR1hTklWBRu6HnUdJwp87Be9rfmuspvkA96CV/YXIBqV1kZMBTXYrmLQwVeHJJ49KQQXP7gI+8swRu6uNkS+cAmZhMGr/sKMEflslno6dbiDZOlcg2RGSwdpuaCqe4Jq53blKRAW2z9GXf0QukBeFSB/1WrJuwLKy1aW1Vx1lh3qCiKcCcejiwQOCKndQQwIDAQABAoIBAARb9jYYJIUrme3Puk/ied1eRx7aa6HJbHw8YSGFyT5CXOSW271/t9fPtQlVs3zFFU+1Cu5eivLd6yrbVgAj8c4AjRdgAQl4zuf5S+IDeAcV9MlxJVurTWQ1z+/NQmyQc67ImteMaDaqS0mqwCHptI7grk8dQNUQw7T2MYFalteHwYl8aAgFaktMghfQa1w4+urO972y3Phs+Iu9D7wf/15kozMBW90Yb3Ozj9AvYn4pGj2ds3L8etqNtiBFylobbVI0mfKgnQgs8NaqSYP6oHvsUerWNzIP0yo8Btwshhk1bGWdrF9Wk4NOyUIL6MkWAUzewtRqKa4ykdRsdE1Q99kCgYEA1+OZbf1GhJ3MiKg1lNWgUJ+J1QwJ1eV08FP2bMmJ6lA255rJ4W4aw4xdqTIR+UQYJ4jAZ7CUKOBBsJFPu0F+LMqga6ZpsUj3/+TJCr/paLBCrQg8xFeLuI5Xhu130uPlxHs+V9w87eWbPQIB8sbHx1TmyJaLsBoQgJo0zSEoauUCgYEAzXCWpbluEqgFSYgAyhln2dx9z+xerwJ7uYc/UgjkSoVf5oIhZ60IxlzNzfPB1oGgoTrIbdOuz4MiqImLjSeJ7koXnQwn3Gw+DeEVtUZtij8faQaF/PQ8U1I2rGeqyGLWX+vDp5VJv0hWjrEmMUExE0WpqZ4euOeQWF9F0rlQlAcCgYBSQiN02DtlTmbfbxAzbI5QCenPpm2c9XfwFl3fp48IG5Y/+yeO4JAMEFCjpjNZAcweTCnbmFlrlb8R0txJYjP8RxyGx/qflUkBVKARm3wI6pgNLAVTXnQbVwkcnSC51yH2Emt3uK/yiTj0Lu6lHX6DgeMJbOs+pz/AcIFL46VtzQKBgQCE7xCcBgPi0JQzQ2z3WT8o6xMCAvo1lo7Gu2xOwfAvBGTMvHGvK3ldGdoWJV/NVK3DBk2BO5OHNVys3+vMF8SZy5nCBoaYi/YPdxFb7kmdRkEl7ZGv375VUAKOxrns1n/PK7i77M7+lmlkBd8nyf5ecRpa5jUNAtIVTPjaZQ1t6wKBgQCZu6W7bnEOUHvMIv3GBXCbu32ICi57PhaEqOntXYMqzMezwXplPuagnk6Y7CO0PWQamo1t54ooO+3mIdcRD6jgxIdF4H+0LMoXdTtg3q4K3ARHVYzRAfDxBC8MtZN2aW0MdmQ3p+Uiid6D34XWyd/fwYKVTMPYO5IYKT8Gg9Dv8A==-----END RSA PRIVATE KEY-----

3 添加ssh_key.pub公钥到Github

ssh_key.pub内容如下所示:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtQDR7UejqwA3hhMEQu87rEGBtiDnIlgJuW86d3zTyHzpda1NsH0HoBbhwM6tPG80zwHLKW8ytY4SLfRsWMQyRDfySuM5lMjP5M10yCy8gIiJe//gNw55uGcsoFXV+WcUyz1mZu1gw02/tEOQA6AKTDgBHWFOSVYFG7oedR0nCnzsF72t+a6ym+QD3oJX9hcgGpXWRkwFNdiuYtDBV4cknj0pBBc/uAj7yzBG7q42RL5wCZmEwav+wowR+WyWejp1uINk6VyDZEZLB2m5oKp7gmrnduUpEBbbP0Zd/RC6QF4VIH/Vasm7AsrLVpbVXHWWHeoKIpwJx6OLBA4Iqd1BD allenwells@163.com

将ssh_key.pub(公钥)的内容添加到Github中,如下所示:

这里写图片描述

这里写图片描述

4 查看Github验证是否成功

ssh git@github.com

出现以下界面则说明验证成功:

这里写图片描述

因为Git是分布式版本控制系统,所以我们需要提供名字和邮箱来自报家门。

输入以下命令配置名字和邮箱:

git config --global user.name "AllenWells"git config --global user.email "allenwells@163.com"

注意

–global参数表示这台机器上所有的Git仓库都会使用这个配置,当然我们也可以对某个仓库指定不同的用户名和Email地址。

配置完成后,可以用以下命令查看配置信息:

git config --list

这里写图片描述

2.4 提交修改

1 复制我们上面创建的仓库地址

这里写图片描述

2 克隆GIthub仓库到本地

git clone https://github.com/AllenWells/MyProject.git

我们创建的MyProject仓库只有简单的几个文件,如下所示:

这里写图片描述

3 推送文件到Github

git add newfile.txtgit commit -m "first.commit"git push origin master

这里写图片描述

原来的仓库

这里写图片描述

推送后的仓库

这里写图片描述

三 GIthub项目协作

Github最大的特色就在于项目协作的简易性,我们可以去参与别人的开源项目,同样也可以邀请别人来参与自己的开源项目,而这些协作只需要几部就可以完成。

下面我们就来看看如何在Github上进行项目协作。

拿图像处理框架glide为例,如果我们想来优化和完善这个框架。

首先,我们需要先fork这个项目,如下所示:

这里写图片描述

然后,fork完成后,这个项目就会完整地克隆到我们的账号中,如下所示:

这里写图片描述

最后,我们就可以对我们账号中的这个项目git clone,修改和提交了,如下所示:

这里写图片描述

注意

一定要fork到我们自己的账号中,原始项目我们是没有修改权限的,如果我们想对原始项目提出改进,我们需要在Github上发起一个pull request,当然这个需要对方审核。

0 0
原创粉丝点击