之前一直在自己搭建的博客中写文章,后续会把之前写的博客逐步迁过来。今天先来一篇,介绍一下全球最大的基友社区——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
按钮,
将本地的文件夹或者文件拖到页面中,填写本次操作的描述信息,点击 Commit changes
,即可将上传的内容提交到GitHub,并生成一个版本库。
新建文件
点击文件列表右上方的 Create new file
! 按钮,
进入文件编辑页面,输入文件名和文件内容,以及本次保存提交的描述,点击 Commit new file
,即可将新建的文件提交到版本库,并生成一个新版本。
文件内容更新
在项目根目录下,点击需要编辑的文件,在打开的页面中点击右方的小铅笔按钮,
进入文件编辑模式,编辑完毕后,填写本次编辑的描述,点击 Commit changes
,提交本次更改。
删除文件
在项目根目录下,点击需要编辑的文件,在打开的页面中点击右方的垃圾筐按钮,
在打开的页面中填写提交的描述,点击 ·Commit changes`,提交本次的文件删除。
版本历史查看
文件列表上方会标出最后一次提交的7位简短版本号,点击可以查看该版本的改动的所有文件以及对应的父版本。
在打开的页面中同样标出了本次提交的版本号以及父版本简短号,点击可继续查看父版本的变动。这样逐层向上,可以追溯每个文件变动的情况,这也是使用版本控制系统的优势。
针对某一个文件,可以点击 History
按钮,
查看该文件的版本历史以及每个版本的改动,还可以点击 <>
按钮,查看某个版本对应时间节点下的repository。
分支管理
创建分支
默认情况下,repository使用的是master分支(即主分支)。点击项目文件列表左上方的 Branch:master
,输入新的分支名,点击下 Create branch:[你输入的分支名],即可以当前的repository状态为基准创建一个分支。
在新分支中编辑内容
在新分支下可以独立的进行内容的编辑。内容编辑完成后,提交的更改将作为新分支下的版本,其和默认的master分支将没有关系。如在UseGit文件中增加了一行内容:
切换到master分支下再次查看该文件的内容,可以看到该文件并没有新增的那行内容:
分支内容对比
点击项目文件列表右上方的 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 的使用。
本文的介绍到此结束,欢迎大家给我留言交流。