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

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

简介

本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。

豆瓣地址https://book.douban.com/subject/26462816/

本以为对于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 "[email protected]"

  

蟲咋先生颤巍巍地给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 “[email protected]”

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 [email protected] 

得到了回应的蟲咋先生很是欢喜。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也是艰难……

时间: 2024-08-16 14:29:12

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

GitHub入门与实践 学习笔记(二)

使用git reflog命令,查看当前仓库的操作日志.在日志中找出 回溯历史之前的哈希值,通过 git reset --hard命令恢复到回溯历史前的状态. 只要不进行 Git 的 GC(Garbage Collection,垃圾回收), 就可以通过日志随意调取近期的历史状态. 哈希值只要输入 4 位以上就可以执行. 要修改上一条提交信息,可以使用 git commit --amend命令. git rebase -i--压缩历史 在合并特性分支之前,如果发现已提交的内容中有些许拼写错误等, 不

python编程:从入门到实践读书笔记(一)

元组:python将不能修改的值称为不可变的,而不可变的列表被称为元组. 如: dimensions=(200,50) print(dimensions[0]) print(dimensions[1]) 列表:由一系列按特定顺序排列的元素组成. bicycles=['trek','cannondale','redline'] print(bicycles) 函数:带名字的代码块,用于完成具体的工作. def greet_user(username): print("Hello, " +

JavaScript 设计模式与开发实践读书笔记 http://www.open-open.com/lib/view/open1469154727495.html

JavaScript 设计模式与开发实践读书笔记 最近利用碎片时间在 Kindle 上面阅读<JavaScript 设计模式与开发实践读书>这本书,刚开始阅读前两章内容,和大家分享下我觉得可以在项目中用的上的一些笔记. 我的 github 项目会不定时更新,有需要的同学可以移步到我的 github 中去查看源码: https://github.com/lichenbuliren/design-mode-notes 1.currying 函数柯里化 currying 又称 部分求值 .一个 cu

jQuery内核详解与实践读书笔记1:原型技术分解2

上一篇已经搭建了一个非常简陋的jQuery框架雏形,如没有阅读搭建过程,请先阅读<jQuery内核详解与实践读书笔记1:原型技术分解1>初始搭建过程.接下来,完成书中介绍的剩下三个步骤: 7. 延续--功能扩展 jQuery框架是通过extend()函数来扩展功能的,extend()函数的功能实现起来也很简单,它只是吧指定对象的方法复制给jQuery对象或jQuery.prototype对象,如下示例代码就为jQuery类和原型定义了一个扩展功能的函数extend(). 1 var $ = j

程序设计导引及在线实践 读书笔记2.1 —— 鸡兔同笼

http://blog.csdn.net/pipisorry/article/details/36433305 问题描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外).已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物. 输入 第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,每行一个正整数a (a < 32768) 输出 输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开

GitHub入门与实践

这篇是计算机类的优质预售推荐>>>><GitHub入门与实践> 与全世界程序员分享你的代码! 编辑推荐 代码审查不到位,审查效率低下 只有编程者本人能看懂的代码直接被部署至正式环境中 因低级代码错误导致BUG频繁出现 没有机会和其他人互相交流代码,共享知识 没有一个简单高效.能在一天之内添加多个功能的开发流程 GitHub 为我们提供了解决这些问题的机会和功能. 本书旨在指导读者使用GitHub进行高效开发. 内容全面,系统讲解GitHub的功能和实用技巧 图文直观,一

精通Git(第2版)+Git团队协作+GitHub入门与实践+Git版本控制管理(第2版)

资源链接:https://pan.baidu.com/s/1FElckzWH6sqyugNK5o8b7w搜集并整理了网上有关GitHub学习的9本书籍,如下:<精通Git (第2版)>中英文PDF<Git团队协作>中英文PDF<Git权威指南(第2版)>和第1版PDF<Git版本控制管理 (第2版)>中英文PDF<GitHub入门与实践>PDF,以及Git桌面Win64bit版最新安装包目录及截图如下: 原文地址:http://blog.51ct

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

本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数学基础. 第五章:利用简单的顶点/片元着色器来实现辅助技巧. 第六章:基本光照模型. 第七章:法线纹理.遮罩纹理等基础纹理. 第八章:透明度测试和透明度混合. 第九章:复杂光照实现. 第十章:高级纹理(立方体纹理等). 第十一章:纹理动画.顶点动画. 第十二章:屏幕特效. 第十三章:深度纹理. 第十四章:非真

&lt;分布式服务框架原理与实践&gt;读书笔记1

花了一段时间通读了<分布式服务框架原理与实践>.个人感触,所讲内容虽然不是实战级别,但可以从侧面领略"分布式服务"的魅力和要点. 1.<第一章 应用架构演进> 主要介绍了4个应用架构,这也基本上算是一个企业场景的严谨模式. 重要的是要理解SOA的设计原则.其中服务治理内容,可以作为研究DUBBO的理论储备. 2.第二章 分布式服务框架入门 实现思路上,课采用责任链,实现功能的动态扩展.该思想和Tomcat pipline,spring aop,intercept