今天看了一下GitHub官方网站的教程,用自己低微的翻译能力加上翻译工具,很艰难的学习着,为了留下长远的印象,就有了这篇文章,今天我们来学习一下如何简单使用GitHub,废话不多说,让我们开始吧.
一、我不理解的三个概念:
1. Unwatch:你关注的项目,如果有commit提交,GitHub会及时的通知你;
2. Star:类似于收藏,有变更时不会通知,用于快速找到你关系的项目;
3. Fork:下图是从其他网站copy过来的,如有冒犯,请见谅。
二、言归正传,这篇博客主要包含以下几部分:
1.创建并学会使用repository(仓库,可以理解为一个项目),
2.创建一个branch(分支,在每个分支上的资源互不影响)并进行管理,
3.修改分支上的文件、然后commit(提交到本地repository)、然后push(推送到)到GitHub上的repository,
4.建立一个merge request(合并请求),进行repository合并。
那么什么是GitHub呢?
GitHub是一个版本控制和协作的代码托管平台(code hosting platform),可以让你的团队成员在任何地点都可以操作项目,由于是免费的,他里面的代码是公开的,这点需要注意;这个文章的重点就是教会你在GitHub中进行repositories、branches、commits、Pull Requests和merge requests这几个主要功能的使用,当然,以上所有前提需要注册一个GitHub的账号。
Step1.创建仓库(Create arepository)
一个仓库代表着一个项目,里面包括项目文件夹、文件及相关资源,GitHub官方网站的教程中建议你包含README文件用来说明你的工程信息:
1. 注册账号并登陆后,点击右上角的“+”,选择New repository;
2. 输入你的项目名称;
3. 编写项目描述;
4. 选择初始化README文件;
5. Public选项是免费的,Private是需要收费的;
6. 最后点击Create repository。
Step2.创建分支
GitHub分支可以提供一种有效的工作方式,一个仓库下同时进行不同版本的管理,便于协同办公。
当你通过Step1创建仓库的同时,GitHub会默认创建master分支,master分支是最主要(definitive )的一个分支,虽然它被叫做分支,但其实他是整个项目的主干,有了master我们可以通过其他分支去试验性的修改内容并提交到master分支;你可以针对当前的master做一个copy,或者镜像(snapshot)。如果有人更新了master分支,并且和你当前的工作分支不一致,可以通过pull的方式更新已改变的内容。
下面我们来看一下GitHub官方提供的一个图:
1. 上面的一条线为master,他像树干一样,支撑着整个repository,所有的分支都源于它并最终merge into到master
2. 一般的项目都不会直接在master上进行调整,所以我们在master的基础上新建了feature分支
3. 最下面是feature分支的整个路线,从create到merge。
现在就让我们创建一个新分支吧
1. 进入到我们刚刚创建的hello-world repository
2. 找到Branch:master,并点击下拉框,输入readme-edits,点击Create branch:readme-edits
3. 目前readme-edits分支和master分支的内容是一样,下面我们将修改readme-edits分支,
Step3.修改并提交分支
在GitHub中,我们会把保存内容变更这个动作叫做commits,每个commit操作都会关联上一个commit message,这个信息用于标注你所做的改变,commit messages可以通过历史修改日志查询到,通过commit messages可以让其他人理解你所做的修改的具体原因。
现在让我们修改一些内容吧:
1. 点击README.md文件,
2. 点击右上角的pencil icon进行修改
3. 点击commit changes按钮
通过上面的动作我们只影响了readme-edits分支中的READMEfile,截止到目前,readme-edits分支和master分支的内容就不同了。
Step4.Open a pull Request
目前,有一个分支已经和master不同了,你需要打开一个pullrequest。
那么什么是pull request呢,Pullrequests是GitHub协作管理的核心,当你开启一个pull request后,其他人可以针对你提交的变更和请求进行预览、拉入并合并到他们的分支,Pull requests可以显示出你的分支和他们分支的不同,对于变更(changes)、新增additions()、删除(subtractions)都会以绿色或者红色来进行区分;从上面的阐述我们可以知道,一旦你提交了pullrequest,团队中的其他成员就可以针对你提交的内容进行,即使团队成员分布在天涯海角都无所谓。
废话不多说,看一下如何open a pull request:
1. 点击Pull request tab,点击New pull request
2. 选择readme-edits
3. 可以看到内容的变化,并确保你即将提交的内容
4. 确认无误后,点击Create Pull Request按钮,填写剪短的标题和内容
正如刚才我们提到的,open pullrequest其实并没有真正的把你提交的内容合并到master分支上,只是团队其他成员可以看到你提交的内容,下面就来进行最后一步,将你的调整内容合并到master分支。
Step5 合并你的pullrequest
1. 点击Merge pull request按钮,
2. 点击Confirm merge
3. 最后,由于您的分支已经merge into master,所以点击Delete branch按钮。