在Git中,开发者将源代码存入名为“Git仓库”的资料库中,并加以使用。而GitHub则是在网络上提供Git仓库的一项服务。这也就是说Github上公开的软件源代码都是有Git进行管理。
社会化编程SOCIAL CODING.随着GitHub的出现,让所有人都平等的拥有了更改源代码的权利,软件开发者们才真正意义上拥有了源代码.
GITHUB 特殊技巧 搜索文件在仓库页面按 ‘t’键,然后输入要找的目录或者文件的部分名称,筛选器会在仓库目录和文件中进行筛选,搜索出要找的文件。这种方式比一级级查看目录和文件要快得多。
查看差别在github上,直接修改URL就可以让用户以多种形式查看差别。
查看分支之间的差异
https://github.com/rails/rails/compare/4-0-stable...5-0-stable这样就可以查看两个分支之间的差异了。上面的网页可以看到,两个版本之间提交有上万次,Files changed 有3315....
查看与几天前的差别
https://github.com/rails/rails/compare/master@{7.day.ago}...master这样就可以查看这段期间内的差别。day 还有其他几种形式。
day
week
month
year
查看与指定日期之间的差异
https://github.com/rails/rails/compare/master@{2016-09-01}...master这样便可以查看与指定日期之间的差别。
由于可以从多种角度查看差别,所以github也称得上是一款优秀的源代码查看器。善于利用上述技巧,能节省不少时间。
GMF 语法特殊用法GMF github-flavored-markdown.MD语法不做过多介绍,只介绍其中一些特性。
语法高亮
def hello_world puts 'hello world' end
这样一来,代码就会被添加语法高亮,变得直观易读。
TaskList 语法
//本月计划的任务 - [ ] 完成ES6语法改造 - [ ] 完成非正常单词改造 - [x] 学完GITHUB特殊技巧[ ] 完成ES6语法改造
[ ] 完成非正常单词改造
[x] 学完GITHUB特殊技巧
这样一来 ,这段文字就会标记成复选列表的样式。这个复选样式可以直接勾选或者取消。不必打开编辑器重新编辑,非常方便
在评论中应用表情
在评论中输入 ":" 便会启动表情自动补全功能。只需要输入几个与表情相关的字母,系统就会为您筛选自动补全的对象。具体表情见:
Issue 技巧在相关Issue中显示提交信息
在Issue一览表中,可以看到,每个Issue的标题下面都带了诸如 “#21” 的编号。这样只要在提交信息时,带上 "#21" 就可以在Issue中看到该提交信息,使关联的提交一幕了然
Close Issue
在提交信息中以下列任一一种格式描述提交信息,对应的Issure就会被close。
fix #21
fixes #21
fixed #21
close #21
closes #21
closed #21
resolve #21
resolves #21
resolved #21
利用该方式,每次提交并且push后,就不必大费周章到GitHub的Issue中寻找相应的Issue 再手动Close。
Git 操作 Git 基本操作git init ——初始化仓库
git status ——查看仓库状态
git add ——向暂存区添加文件
git commit ——保存仓库的历史记录,.可以将当前暂存区中的文件实际保存到仓库的历史记录中.通过这些记录,我们可以在工作树中复原文件
-m参数:参数后为提交信息的概述(单行)
如果想要记述得更加详细,不加-m,执行后编辑器会启动,格式如下
第一行:用一行文字简述提交的更改内容 第二行:空行 第三行以后:记述更改的原因和详细内容git log —— 查看提交日志
只显示提交信息的第一行 git log --pretty=short
只显示指定目录/文件的日志 git log README.md
显示文件前后的改动 git log -p README.md
git diff —— 查看更改前后的差别
查看工作树和暂存区的差别 git diff
查看工作树和最新提交的差别 git diff HEAD.(不妨养成这样一个好习惯:在执行git commit前,执行git diff HEAD命令,查看本次提交和上次提交的差别,确认后再提交)
Git: 分支操作git branch —— 显示分支一览表
git checkout -b —— 创建、切换分支
创建分支,并切换到分支,并提交
$ git checkout -b feature-A Switched to a new branch 'feature-A' //实际上等同于下面两条命令 $ git branch feature-A $ git checkout feature-A切回到master, git checkout master
切回到上一个分支,git checkout - , 用"-" 可以代替分支名
特性分支:是集中实现单一特性(主题),初次之外不进行任何作业的分支。
主干分支:可以发布软件的稳定分支。有时可以用标签Tag等创建版本信息,同时管理多个版本的发布。
git merge ——合并分支