GitHub入门笔记

之前一直在自己搭建的博客中写文章,后续会把之前写的博客逐步迁过来。今天先来一篇,介绍一下全球最大的基友社区——GitHub的简单使用,原文写于2017-03-09。


GitHub 是一个面向开源及私有软件项目的托管平台,支持Git作为版本库格式对项目进行托管。本文尽量用较少的篇幅对其介绍,让大家花更少的时间学会其基本使用,若需要其他更复杂的应用,可以参考网上其他的教程或者官方指南。

基本概念

repository版本库,简单理解就是用来存储你的多个版本代码的一个仓库。

branch:分支,简单理解为版本库中存在的多条独立存在的版本线,常用于一些临时性的修改。

GitHub使用

使用GitHub之前需要先注册GitHub用户,普通用户可以注册成为免费用户,但免费用户创建的所有项目都是公开的,别人都可以看得到,若你不希望别人访问你的项目,可以注册付费账号。

点击注册GitHub

注册完毕登录成功之后即可开启GitHub之旅。

创建repository

点击页面右上角的 + 号,再点击展开的 New repository:

打开新建repository页面,填入名称、描述后即可点击 Create repository 创建一个新的版本库。如下,我们新建一个名为HelloWorld的repository:

注意勾选 Initialize this repository with a README,这样新建的repository将会被初始化,同时会在版本库下新建READE.md文件,默认的内容是版本库名称和描述。

内容编辑

新建repository后就可以使用GitHub来编辑、管理你的内容了。

除了可以版本化管理代码,其实GitHub可以管理一切数据,文档、图片、音乐、视频等都可以托管再GitHub上,只是文本型的数据可以方便的进行各版本间的差异比较从而有效地进行版本管理,而二进制的数据则不能进行比较,也就相当于把GitHub当作网盘一样存储数据。

可以在网页中新建文件或者从本机上传文件到GitHub中。

上传文件

点击文件列表右上方的 Upload files 按钮,

btns-upload-files.png

将本地的文件夹或者文件拖到页面中,填写本次操作的描述信息,点击 Commit changes,即可将上传的内容提交到GitHub,并生成一个版本库。

新建文件

点击文件列表右上方的 Create new file! 按钮,

进入文件编辑页面,输入文件名和文件内容,以及本次保存提交的描述,点击 Commit new file,即可将新建的文件提交到版本库,并生成一个新版本。

文件内容更新

在项目根目录下,点击需要编辑的文件,在打开的页面中点击右方的小铅笔按钮,

进入文件编辑模式,编辑完毕后,填写本次编辑的描述,点击 Commit changes,提交本次更改。

删除文件

在项目根目录下,点击需要编辑的文件,在打开的页面中点击右方的垃圾筐按钮,

btn-delete-file.png

在打开的页面中填写提交的描述,点击 ·Commit changes`,提交本次的文件删除。

版本历史查看

文件列表上方会标出最后一次提交的7位简短版本号,点击可以查看该版本的改动的所有文件以及对应的父版本。

head-number.png

在打开的页面中同样标出了本次提交的版本号以及父版本简短号,点击可继续查看父版本的变动。这样逐层向上,可以追溯每个文件变动的情况,这也是使用版本控制系统的优势。

针对某一个文件,可以点击 History 按钮,

查看该文件的版本历史以及每个版本的改动,还可以点击 <> 按钮,查看某个版本对应时间节点下的repository。

history-list.png

分支管理

创建分支

默认情况下,repository使用的是master分支(即主分支)。点击项目文件列表左上方的 Branch:master,输入新的分支名,点击下 Create branch:[你输入的分支名],即可以当前的repository状态为基准创建一个分支。

在新分支中编辑内容

在新分支下可以独立的进行内容的编辑。内容编辑完成后,提交的更改将作为新分支下的版本,其和默认的master分支将没有关系。如在UseGit文件中增加了一行内容:

切换到master分支下再次查看该文件的内容,可以看到该文件并没有新增的那行内容:

browse-usegit-in-master.png

分支内容对比

点击项目文件列表右上方的 Compare 按钮,

可以对比分支间的差异:

分支合并

在新分支下编辑的内容后,也可以合并到主分支。合并分支需要对内容进行更改一方的作者发起一个请求合并 Pull request,对修改的内容进行讨论,由项目的拥有者查看后决定是否同意合并。(示例中合并请求的发起者和项目的拥有者都是作者自己,所以可以直接处理请求)

点击项目列表左上方的 New pull request 按钮,或者项目列表右上方的 Pull request 按钮,或者在分支内容对比页面中的 Create pull request 按钮,均可进入pull request页面。

在打开的页面中,选择进行编辑的分支和希望合并到的分支,并填写发起请求合并的描述信息,点击 Create pull request,发送一个 pull request。

点击页面上方的 Pull requests ,在打开的页面中可以看到当前所有的合并请求。点击一个请求,可以看到请求发起者填写的描述信息和提交的更改及详细的内容变化。

若有冲突,需要点击 resolve conflicts 处理冲突。

在打开的页面中根据实际处理内容,并删掉冲突标记(标红的<<<<<<<、 =======、 >>>>>>>等行),点击页面上方的 Mark as resolved,完成冲突处理,并将此次冲突处理提交作为一个版本库。完成后,会回到 合并请求页面,此时可以看到已没有冲突。项目拥有者可以决定合并该请求或者驳回请求(Close pull request)。

点击 Merge pull request,填写描述信息,点击 Confirm merge,即可将新分支中的内容合并到请求发起者选定的分支中。

合并完成后,可以选择将新分支删除:

我们可以检查合并后文件的内容。回到项目文件列表中,可以看到最新的一次提交描述即为之前合并时的提交描述。

点击该版本的文件,可以看到原来在测试分支中的内容确实合并到了master分支,并且可以在上方的提示中看到改版本拥有两个父版本。

注: 团队合作或者贡献开源代码时,一般是先fork别人的项目到自己的账户下,然后进行修改,修改完成后再 Pull request,提交请求给原作者合并。

另外,对于Windows用户,GitHub发布了GitHub for Windows,为Windows平台开发者提供了一个易于使用的Git图形客户端,理解了上面的操作后再使用GitHub for Windows就比较容易。后面我将专门写一篇博客介绍 GitHub for Wondows 的使用。

本文的介绍到此结束,欢迎大家给我留言交流。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容