如今大多数开发者都有本身的GitHub帐号,不少公司也会以是否有GitHub做为一项筛选简历以及人才的选项了,可见拥有一个GitHub帐号的重要性,本文就从最基本的GitHub帐号的注册到基本的使用进行学习记录,一方面方便本身,另外一方面但愿对你有所帮助~html
以前写过一篇文章,浅谈使用git 进行版本控制(博客连接:http://www.javashuo.com/article/p-bkqkadox-gs.html)git
说实话,当时是学习可视化的时候,接触到git ,学了些皮毛,可是本身在实践中并无真正的用到GitHub这个平台。那时候在大学,还无忧无虑的,可是一年后,也就是今天,我在家里写了代码,可是在公司也想写,才发现了GitHub的好处了,今天火烧眉毛的使用了这个东西,而且把一些笔记记录下来。github
GitHub是用于版本控制和协做的代码托管平台,它可让您和其余人在任何地方协同工做。GitHub 能够托管各类Git版本库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不一样,GitHub的独特卖点在于从另一个项目进行分支的简易性。web
为一个项目贡献代码很是简单:首先点击项目站点的“fork”的按钮,而后将代码检出并将修改加入到刚才分出的代码库中,最后经过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。windows
本文将学习使用GitHub基本知识,如存储库,分支,提交和Pull请求,我将建立本身的hello world存储库并学习GitHub的Pull Request工做流,这是一种建立和检查代码的流行方法。学习
一个库一般用于举办单个项目,存储库能够包含文件夹和文件,图像,视频,电子表格和数据集等等,你的项目须要的任何内容,咱们认为包括README或者包含项目信息的文件。GitHub能够在建立新存储库的同时轻松添加一个。this
以下图所示:咱们能够添加一个新的仓库,而且添加描述,最后单击Create repository。url
分支是一次处理不一样版本的存储库的方法。设计
默认状况下,咱们的存储库有一个名为master的分支branch,该分支被认为是权威分支。咱们在使用分支进行试验并在提交以前进行编辑master。3d
当你在分支机构上建立master 分支时,咱们正在制做该master时间点的副本或者快照,若是其余人master在咱们的分支机构上工做时对branch作了更改,则能够提取这些更新。
在GitHub,咱们的开发人员,编写人员和设计人员使用分支来保持错误修复和功能工做与咱们的master分支分开,当更改准备就绪时候,他们讲其分支合并到master。
如今咱们有两个分支,master和readme-edits,他们看起来同样,可是时间不会很长,接下来咱们增长咱们的改变在新的分支上。
如今咱们在readme-edits分支的代码视图中,这是一个master的副本,让咱们作一些修改吧。
Pull Requests是GitHub上合做的核心,当咱们打开拉取请求时候,你提出了更改并请求某人审核并提取咱们的贡献,并将其合并到他们的分支中,拉请求显示来自于两个分支的内容的差别。
最后将咱们的更改结合在一块儿,将咱们的readme-edits分支合并到master分支上。
那么请记住下面的地址:
若是没有安装,请查看windows的安装博客(这里不作详细介绍):http://www.javashuo.com/article/p-gsbsoypn-ev.html
在当前项目工程下履行这个号令,至关于把当前项目git化
在当前项目的目录中生成本地的git管理(咱们会发现当前目录下多了一个.git文件夹)
把当前目次下代码参加git的跟踪中,意思就是交给git经管,提交到本地库
这个是将项目上全部的文件添加到仓库中,若是只想添加某个特定的文件,只须要将.换成特定的名称便可。
(下面会报错,咱们发现add 和.之间有空格)
至关于写点提交信息
表示咱们对此次提交的注释,双引号里面的内容能够根据我的的需求改
这里本身找本身的url地址
git remote add origin https://本身的仓库url地址
下面展现本人的:
将本地库提交到github上。
执行完毕后,若是没有异常,会等待几秒,而后跳出一个让咱们输入Username 和password的窗口,咱们只须要输入我的的github登陆帐号和密码便可。
最后上传完毕
当你上传代码到最后一步,发现没法push,而且会出现以下错误:
那么如何解决呢?
上传代码到最后一步,出现此错误,如何解决呢?(就是没法匹配master)
引发该错误的缘由是,目录中没有文件,空目录是不能提交上去的
。
这个仔细检查,本地的文件名称是否和GitHub上的对应。个人就是由于名字不对应致使的错误,也就是本身粗心!!!
其二,就是以前没有使用以下代码:
git add .
没有对代码进行跟踪,我找了两天,才发现本身每次都少了这一步,也会报一样的错误,很是粗心!!!
上传代码到最后一步,出现此错误,如何解决呢?
引发该错误的缘由是,咱们在GitHub中对代码进行了在线的修改;或者咱们直接在GitHub上的某个库照片那个添加了readme文件或者其余文件,可是没有对本地库进行同步,因此这时候咱们要想commit到remote 的GitHub库中就会有push失败的问题,
这个问题就是由于远程库与本地库不一致形成的,咱们只须要把远程库同步到本地库就能够了。指令以下:
git pull --rebase origin master
git pull –rebase origin master意为先取消commit记录,而且把它们临时 保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),以后同步远程库到本地,最后合并补丁到本地库之中。
如图所示:
而后再上传,指令以下:
git push -u origin master
结果如图所示(此时解决问题):