《Github入门与实践》作者: [日] 大塚弘记 译者:支鹏浩/刘斌
 
 

简介
本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。
 
 
      本以为对于github已经算有所了解,通过这本书才发现对其的了解远远还不够。同时因为github界面有过改版,使得书中对githubUI界面部分功能的介绍有所出路,但这并不妨碍我们通过这本书认识到github的某些主要功能和作用。
      此外,关于Git其实现在已经有不少方便的图形化操作工具,像TortoiseGit和VSCode的插件Git Lens 我现在都有使用,但即便这样,Git Bash 的命令行操作我仍然觉得不可替代。
      总之,本书分为git命令和github两大部分,感觉其细致的配图和文字说明真的对英文不好的我来说算是福音。想到现如今git的使用越来越普及 ,如此,决定以自己的方式整理一下书中重要的一些知识点。
 
      _(:з」∠)_这是个很让人想躺的休息日,不过主人翁 蟲咋先生 还是决定今天务必要好好在 Git小姐 那里刷一刷脸!说到脸,蟲咋先生实在还很嫩,也因为这样,面对大名鼎鼎的Git小姐和SVN小姐,蟲咋先生都才初初认识。不过仅此就让蟲咋先生决定毫不犹豫地去追求Git小姐。啧啧,实在是因为觉得SVN小姐虽然也是集万千才华于一身,但其乖巧娇羞的性子让人觉得稍微了解一下她做个朋友就够了,还是Git小姐的活泼大方广于交际更适合蟲咋先生这种闷骚。蟲咋先生都想好了,如果Git小姐问自己为什么喜欢她,他就回答:我很乐于借着Git小姐拉大我的朋友圈!等等等等等
 
      言归正传,蟲咋先生想了下,要刷脸,首先得联络上Git小姐,一番查阅下载安装之后,蟲咋先生还是决定用 GitBash 的方式来联络。
 
1.1 鼠标右键 > 单击选择 “Git Bash Here”,新世界大门即将打开。
 
 
 

      选择好了联络方法,就要展开行动了。Git小姐还不认识蟲咋先生,所以必须要先做一个简单的自我介绍。
1.2.1 初始设置:设置用户名和邮箱
 
$ git config --global user.name "xxx"
$ git config --global user.email "xxxxxx@xxx.com"

  

      蟲咋先生颤巍巍地给Git小姐留言了自己的姓名和联络邮箱,紧张得都要出汗了,生怕自己的信息没能成功传递过去。于是忍不住询问了下GitBash,看到它的反馈才松了一口气。
1.2.2 查看用户名和邮箱
 
 $ git config user.name
$ git config user.email

      所谓条条大道通罗马,光是这样做显然还不够。蟲咋先生这个时候才开始摩拳擦掌要去Git小姐家门口留名晃点!蟲咋先生早已在Git小姐那里露过脸了。现在他想一定要拿出点什么让Git小姐再次注意到自己。
      决定先暗搓搓租下Git小姐小区中的一屋,再思考要怎样展开行动。
 
2.1 设置SSH Key,Github上连接已有仓库时的认证需通过SSH公开密钥来认证。需要先创建公开密钥认证所需的SSH Key并添加至GitHub。
 
$ ssh-keygen -t rsa -C “xxxxxx@xxx.com”

id_rsa文件是私有密钥,id_rsa.pub是公开密钥
2.2.1 添加公开密钥,获取id_rsa.pub的内容
 
$ cat  ~/.ssh/id_rsa.pub

  

2.2.2 添加公开密钥,在Github上点击头像 > Your stars > 进入后点击左侧头像 > 选择 SSH and GPG keys > 点击 New SSH key
 
 
 
2.2.3 在Title中输入适当密钥名称,Key部分黏贴 id_rsa.pub的内容,添加成功后创建账户时所用邮箱会收到一封提示邮件。之后就可以用私人密钥与GitHub进行认证和通信。蟲咋先生顺利找到了房东一番沟通协商,果断将房屋钥匙拿到手了。那么成为了邻里关系,是否可以到Git小姐那里去打个招呼呢。
 
$ ssh -T git@github.com 

      得到了回应的蟲咋先生很是欢喜。w
 
      获得了认证,那么该好好收拾一下自己的屋子了。噌噌噌,蟲咋先生略微整理了一下就开始准备想要给Git小姐的大礼了。
2.3 选择 “New repository” 创建自己的仓库,创建后连接仓库的URL是 https://github.com/用户名/仓库名
 
 
 
2.4 黏贴复制仓库URL地址之后,将仓库clone至本地,使用cd 进入到本地仓库中,这时可以使用 status命令查看仓库状态。
 
$ git clone https://github.com/用户名/仓库名
$ cd 仓库名(及clone到本地的文件夹名称)
$ git status

  

这一段说明当前工作目录很是干净。所有已跟踪文件在上次提交后都未被更改过。而本地也没有出现任何未跟踪状态的新文件。同时,也还显示了当前所在分支是 “master”,此为默认分支名。
 
      想来也是,蟲咋先生刚刚搬进来,自然整个屋子都很干净。那么现在要开始打扫了,首先蟲咋先生把他的第一个大宝贝 start.html 放入了这个名为 CSS-Laboratory这个屋子里,然后重新查看了一番。
2.5.1 添加新文件。将想要提交到仓库的文件放入本地clone下来的文件夹中。这时再使用 status命令查看,就会发现得到了不同的回复。
 
 
 
 
2.5.2当看到上述提示,就应该知道需要使用add命令将新文件加入到暂存区。而后通过commit命令来提交,向github上的远程仓库发出申请,将文件实际保存到仓库历史记录中。最后使用push命令,github上的远程仓库就会被更新。
 
$ git add 文件
$ git commit -m "提交时想要备注的信息"
$ git push

上面的log命令起到的作用是查看提交日志,提交后刷新github网站,找到对应的库。
 
 
 
      对于蟲咋先生来说,今天的一切都是开始。 start 是追求Git小姐的开始,同时也是这一天的结束。下一次,他将拥有的就不仅仅是start了。
 
      上述涵盖了《Github入门与实践》第一章 到 第三章 的重要知识点。
 
      通过《Github入门与实践》这本书,让我觉得Git实在是一位很优雅的女士,她具有非凡的胸怀。让诸多不善表达的程序猿们,以自己独有的方式展现了自己的内心世界的同时切切实实的搭建出了沟通的桥梁。
      由于初识Git,只是对于其社会化编程起到的化学作用不免感慨。其协作形式版本管理等等作用我还并不是有很深的体会。
      在看这本书之前,也有直接使用Git命令做一些操作,有查阅过常用Git命令来做一些试验。但正因为这样,我更觉得这本书作为Git的入门是很适合的,因为它足够浅显。提示着我每一个步骤都会起到一个作用。一步一步,让我在这个过程中理解到了每一个命令它对应的效果。
      曾经使用git命令时遇到过这样一个情况。我add一个文件之后,发现怎么也push不上去。后来才发现是忘记commit了。在看这本书之前,我觉得命令是单一一条,条条对应的。随着跟着步骤来走,才发现,虽然有些命令发出以后能够得到直接回复。但是有些命令是一个相连的步骤缺一不可。就像上述从SSH Key到最后push到远程仓库。在这个中间可以穿插诸多不同的命令。但是要实现push,有一些步骤绝不能丢。
      此外 git staus 和git log 命令我在看这本书之前用的并不多。现在才发现,有时我们发出一个命令,GitBash上并不会 就直接给出回复。要善用他们,才能知道自己处于哪里,下一步,需要做什么。
      下一次读书笔记就是整理该书 第四章的内容,也就是蟲咋先生开始正式使出手段追求Git小姐了。TAT也是艰难……
 
 

《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)的更多相关文章

  1. GitHub入门与实践 读书笔记三:(1)GitHub账户注册教程

    第一步:进入GitHub官网,官网地址:https://github.com/ 第二步:点击Sign up for GitHub 1.昵称一栏:每次在你输入昵称之后,都会检查是否已经被注册.如果被注册 ...

  2. GitHub入门与实践 读书笔记二:Git的导入

    1.诞生背景 Linux的创始人Linus Torvalds 在2005年开发了Git的原型程序,后随着众多开发者的共同努力,现在他已经被大量的程序员采用. 2.什么是版本管理 版本管理:管理软件在开 ...

  3. GitHub入门与实践 读书笔记一:欢迎来到GitHubde世界

    1.什么是GitHub GitHubshi为开发者提供Git仓库的托管服务.除此之外,还为开发者提供能帮助提高代码效率和品质的功能. GitHub和Git的区别? Git是源码仓库而GitHub是在网 ...

  4. Unity Shader入门精要读书笔记(一)序章

    本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数 ...

  5. Unity Shader入门精要读书笔记(二)UnityShader概述

    第三章<UnityShader概述>的读书笔记: 1.Unity Shader模板提供了几种选择: 标准光照模型(新添加的基于物理的渲染方法) 不含光照的基本的顶点.片元着色器 屏幕后处理 ...

  6. GitHub入门与实践

    基本命令 git status 工作区状态 git add git commint 暂存区 git push gitHub客户端 下载网址:https://desktop.github.com/ 解决 ...

  7. 《VS2010/MFC编程入门教程》——读书笔记

    推荐两个比较好的学习网站:http://v.dxsbb.com/jisuanji/555/ http://www.jizhuomi.com/software/257.html MFC全称Microso ...

  8. JavaScript设计模式与开发实践——读书笔记1.高阶函数(下)

    上部分主要介绍高阶函数的常见形式,本部分将着重介绍高阶函数的高级应用. 1.currying currying指的是函数柯里化,又称部分求值.一个currying的函数会先接受一些参数,但不立即求值, ...

  9. JavaScript设计模式与开发实践——读书笔记1.高阶函数(上)

    说来惭愧,4个多月未更新了.4月份以后就开始忙起来了,论文.毕设.毕业旅行等七七八八的事情占据了很多时间,毕业之后开始忙碌的工作,这期间一直想写博客,但是一直没能静下心写.这段时间在看<Java ...

随机推荐

  1. 移动WEB 响应式设计 @media总结

    第一种: 在引用样式的时候添加 <link rel="stylesheet" media="mediatype and|not|only (media featur ...

  2. UrlRewriter配置IIS支持伪静态

    使用UrlRewriter时遇到了一些问题,在园子里的博问中找到了Astar的回答,防止以后找不到,就记录下来了. UrlRewriter.NET官方地址:http://urlrewriter.net ...

  3. C#无限分级实现,前端WEB页面接收,后台提供层级Json数据

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...

  4. Winform退出运行后,删除运行目录(批处理方法)

    /// <summary> /// Winform程序退出删除运行目录 FormClosed调用 /// </summary> private void DeletExeFil ...

  5. UltraEdit中使用正则表达式替换

    UltraEdit在使用正则表达式进行查找替换时有两个可使用的语法集合.一个是 UltraEdit 的更早的版本被使用的原来的 UltraEdit 句法.另一个是"Unix"类型的 ...

  6. SQL SERVER 数据库级联删除

    --SQL SERVER 2008R2 级联删除:主子表设置外键关联,当主表数据删除的时候会自动删除子表中对应的数据 --创建主表 create table test_main( ID ,) PRIM ...

  7. 前端魔法堂——异常不仅仅是try/catch

    前言  编程时我们往往拿到的是业务流程正确的业务说明文档或规范,但实际开发中却布满荆棘和例外情况,而这些例外中包含业务用例的例外,也包含技术上的例外.对于业务用例的例外我们别无它法,必须要求实施人员与 ...

  8. 怎样在Win10下安装ubuntu双系统

    Win10系统下安装ubuntu系统 安装前准备: 概念 在动手之前,一定要先了解双系统.系统引导.分区这3个概念,这样才能理解安装步骤,应对安装过程中的意外情况. 双系统 双系统就是开机之后,会有一 ...

  9. C陷阱和缺陷学习笔记

    这段时间把<C陷阱和缺陷>看了,没时间自己写总结.就转一下别人的学习笔记吧http://bbs.chinaunix.net/thread-749888-1-1.html Chapter 1 ...

  10. Spring中的注入方式

    在Spring配置文件中使用XML文件进行配置,实际上是让Spring执行了相应的代码,例如: 使用<bean>元素,实际上是让Spring执行无参或有参构造器 使用<propert ...