文章目录

  • 1. 使用前的准备
    • 创建账户:
    • 设置头像
    • 设置SSH Key
    • 添加公开密钥
    • 使用社区功能
  • 2. 实际动手使用
    • 2.1 创建仓库
    • 2.2 连接仓库
    • 2.3 公开代码
  • 3. 小结

1. 使用前的准备

创建账户:

网址:https://github.com/join

设置头像

在GitHub 上随处可见的头像(账户独有的标识)是通过Gravatar服务显示的。

设置SSH Key

GitHub 上连接已有仓库时的认证,是通过使用了SSH 的公开密钥认证方式进行的。

运行以下的命令创建SSH Key。

$ ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa): `按回车键`
Enter passphrase (empty for no passphrase): `输入密码`
Enter same passphrase again:`再次输入密码`


id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。

添加公开密钥

  1. 在Title 中输入适当的密钥名称
  2. Key 部分请粘贴id_rsa.pub 文件里的内容

id_rsa.pub的内容可以用如下方法查看,也能用记事本直接打开查看:

$ cat ~/.ssh/id_rsa.pub
ssh-rsa `公开密钥的内容` your_email@example.com



添加成功之后,创建账户时所用的邮箱会接到一封提示“公共密钥添加完成”的邮件。

完成以上设置后,就可以用手中的私人密钥与GitHub 进行认证和通信了。让我们来实际试一试。

$ ssh -T git@github.com
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is `fingerprint值` .
Are you sure you want to continue connecting (yes/no)? `输入yes`

出现如下结果即为成功:

Hi hirocastest! You've successfully authenticated, but GitHub does not
provide shell access.

使用社区功能

既然说GitHub 能够以人为焦点,那么在创建账户后不妨试试Follow(关注)别人。在用户信息页面的右上角点击如图3.3 所示的按钮即可。

这里拿Qt大佬“飞扬青云”的GitHub主页来举例:
https://github.com/feiyangqingyun

这样一来,您所Follow 的用户的活动就会显示在您的控制面板页面中。您可以通过这种方法知道那个人在GitHub 上都做了些什么。

对于仓库,也可以使用Watch 功能获取最新的开发信息。如果您经常使用的某个软件正在GitHub 上进行开发,不妨去Watch 一下。

2. 实际动手使用

2.1 创建仓库


  • Initialize this repository with a README

    在Initialize this repository with a README 选项上打钩, 随后GitHub 会自动初始化仓库并设置README 文件,让用户可以立刻clone 这个仓库。如果想向GitHub 添加手中已有的Git 仓库,建议不要勾选,直接手动push。

  • Add .gitignore

    下方左侧的下拉菜单非常方便,通过它可以在初始化时自动生成.gitignore 文件A。这个设定会帮我们把不需要在Git 仓库中进行版本管理的文件记录在.gitignore 文件中,省去了每次根据框架进行设置的麻烦。下拉菜单中包含了主要的语言及框架,选择今后将要使用的即可。由于本书中我们并不使用任何框架,所以不做选择。

    该文件用来描述Git 仓库中不需管理的文件与目录

  • Add a license

    右侧的下拉菜单可以选择要添加的许可协议文件。如果这个仓库中包含的代码已经确定了许可协议,那么请在这里进行选择。随后将自动生成包含许可协议内容的LICENSE 文件,用来表明该仓库内容的许可协议。

2.2 连接仓库

下面这个URL 便是刚刚创建的仓库的页面

https://github.com/用户名/Hello-GitHub
  • README.md

    README.md 在初始化时已经生成好了。README.md 文件的内容会自动显示在仓库的首页当中。因此,人们一般会在这个文件中标明本仓库所包含的软件的概要、使用流程、许可协议等信息。如果使用Markdown 语法进行描述,还可以添加标记,提高可读性。

  • GitHub Flavored Markdown

    在GitHub 上进行交流时用到的Issue、评论、Wiki,都可以用Markdown 语法表述,从而进行标记。准确地说应该是GitHub Flavored Markdown(GFM)语法。

    务必学会Markdown 语法。

2.3 公开代码

  • clone 已有仓库

    接下来我们将尝试在已有仓库中添加代码并加以公开。首先将已有仓库clone 到身边的开发环境中。clone 时指定的路径请参考下图:

    $ git clone git@github.com:tangxing806/Hello-GitHub.git
    Cloning into 'Hello-World'...
    remote: Counting objects: 3, done.
    remote: Total 3 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (3/3), done.
    $ cd Hello-World
    


  • 编写代码

    这里我们编写一个hello_world.php 文件,用来输出“Hello World!”

    由于hello_word.php 还没有添加至Git 仓库,所以显示为Untracked files。

  • 提交

    将hello_word.php 提交至仓库。这样一来,这个文件就进入了版本
    管理系统的管理之下。今后的更改管理都交由Git 进行。

    $ git add hello_world.php
    $ git commit -m "Add hello world script by php"
    [master d23b909] Add hello world script by php
    1 file changed, 3 insertions(+)
    create mode 100644 hello_world.php
    


    通过git add命令将文件加入暂存区,再通过git commit命令提交。

    添加成功后,可以通过git log命令查看提交日志。

    $ git log
    commit d23b909caad5d49a281480e6683ce3855087a5da
    Author: hirocastest <hohtsuka@gmail.com>
    Date: Tue May 1 14:36:58 2012 +0900
    Add hello world script by php
    

  • 进行push

    之后只要执行push,GitHub 上的仓库就会被更新。

    $ git push
    Counting objects: 4, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 328 bytes, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To git@github.com:hirocastest/Hello-World.git
    46ff713..d23b909 master -> master
    

3. 小结

本章讲解了初次在GitHub 建立仓库以及公开代码的流程。完成这些,各位就踏入了GitHub 的世界。

《GitHub入门与实践》第3章 使用GitHub的前期准备——学习笔记相关推荐

  1. 《Python编程从入门到实践》袁国忠 译 P1~P200学习笔记

    <Python编程从入门到实践>袁国忠 译 P1~P200 学习笔记 <Python编程从入门到实践>袁国忠 译 P1~P200之前两天在学习时做的笔记总结,在这里也记录一下, ...

  2. 类型即正义:TypeScript 从入门到实践(序章)

    作者:一只图雀 仓库:Github .Gitee 图雀社区主站(首发):图雀社区 博客:掘金.知乎.慕课 公众号:图雀社区 联系我:关注公众号后可以加图雀酱微信哦 原创不易,❤️点赞+评论+收藏 ❤️ ...

  3. 《GitHub入门与实践》

    2019独角兽企业重金招聘Python工程师标准>>> <GitHub入门与实践> 从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他 ...

  4. Python编程从入门到实践第五章部分习题

    Python编程从入门到实践第五章部分习题 5-8 5-9` names = ['admin','zhang','li','zhao','song'] for name in names:if nam ...

  5. Python从入门到实践第9章课后作业

    Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...

  6. python网络爬虫从入门到实践 第5章 (二)

    python网络爬虫从入门到实践 第5章 (二) https://beijing.anjuke.com/sale/ \xa0 是不间断空白符   我们通常所用的空格是 \x20 ,是在标准ASCII可 ...

  7. Python编程:从入门到实践 第三章--函数

    Python编程:从入门到实践 第三章-函数 语法 就还是需要先记一下函数定义的语法: def Test(num):num = 12 如上,def func_name(factors): # code ...

  8. Python编程:从入门到实践第六章读书笔记6.3遍历字典

    Python编程:从入门到实践第六章读书笔记6.3遍历字典 #coding:gbk#6.3.1遍历所有的键-值对 user_0 = {'username': 'efermi','first': 'en ...

  9. 读书笔记——《Python编程从入门到实践》第二章

    读书笔记--<Python编程从入门到实践>第二章 读书笔记--<Python编程从入门到实践>第二章 变量 如何使用变量 如何规范变量命名 字符串 字符串是什么 如何修改字符 ...

  10. 《Python编程:从入门到实践》第二章练习题

    <Python编程:从入门到实践>第二章练习题 <Python编程:从入门到实践>第二章练习题 1-1 简单消息 2-2 多条简单消息 2-3 个性化消息 2-4 调整名字的大 ...

最新文章

  1. 「咖啡馆」里的任正非:开放的技术和商业,不会遵循「丛林法则」
  2. IOS UIScrollView (转)
  3. Layui / WEB UI
  4. SAP Spartacus internationalization(i18n) 的实现 - 关于多语言,翻译支持的实现
  5. Android USB 属性设置:ADB、RNDIS、MTP等
  6. azure linux 磁盘,在Azure Linux VM中,还有什么?什么磁盘收费?
  7. 50道 JavaScript 经典面试题汇总篇
  8. 小米崔宝秋:一家互联网公司没有信息安全团队,就像在“裸奔”!
  9. UTL_FILE学习
  10. NAME:WRECK 漏洞影响近亿台物联网设备
  11. [BZOJ3110] [Zjoi2013]K大数查询
  12. 本地计算机上的mysql57_win10出现本地计算机上的MySQL57服务启动后停止
  13. Java中父子类引用的理解
  14. PowerDesigner生成Oracle数据库时,表名会带引号问题
  15. C语言数据结构各种结构体的定义
  16. mysql绘制er图教程_使用MySQLWorkBench绘制ER图
  17. mac 装java eclipse_Mac安装Eclipse教程
  18. Base64的编码以及解码
  19. Google Chrome 扩展程序
  20. 无线渗透-----aircrack-ng破解WEP加密

热门文章

  1. 有关Glid对图片进行压缩的处理
  2. Carbide UI designer
  3. html语言怎么标记音乐文件,添加背景音乐的html标签是什么?
  4. iOS工程师2021年应该学习一下Vapor
  5. python交叉验证结合线性回归_多元线性回归模型的特征选择:全子集回归、逐步回归、交叉验证...
  6. Cisco PT模拟实验(2) 交换机的端口配置与管理
  7. 死磕三天总结出Docker小白入门操作指南(建议收藏)
  8. 教资(信息技术学科知识与教学能力)2-1 计算机基础知识
  9. 【Jenkins】xcopy无效的驱动器规格
  10. 亚马逊运营培训自动型广告如何做高排名