这段时间在博客园多了很多关于GitHub的文章,但是我的确没怎么看懂。不过这几天简单的看了写资料,亲身操作之后也有了一点体会。这算是最简单的GitHub入门了吧,基本全是鼠标操作。这也是这几天的总结,和大家共同分享。文中如果有什么错误或者不恰当的地方,还希望大家及时指正。关于GitHub的内容,主要参考了GotGitHub

1. 背景和目的

    去年的时候,有个老师推荐使用GitHub来管理自己的代码。这段时间博客园的首页上多了很多关于GitHub的介绍。半年多来,我对我做的绝大多数事情都做了详细的记录,希望能把自己的工作保留下来。对于工作本身的一些经验,采取文档的形式,完成之后修改不是那么的频繁,但是代码不一样。很多时候,我的确发现需要好好整理自己的代码了,比如说

 

    上图是一个失败的例子,文件夹内的多数文件具有类似的功能,但是又有一些差别。好吧,实际上就是当我要找某段代码的时候,我自己都找不到了……发到首页上的GitHub介绍都比较高级,说实话我不怎么看得懂。所以本文的目的,就是利用我这几天的经验,最简单的介绍一下GitHub for Windows(https://windows.github.com/)的应用。(在写这一段的时候,发现博客园还是有很基础的介绍的,比如http://www.cnblogs.com/Yiutto/p/4665012.html

2. Git和GitHub

  “GitHub(网址 https://github.com/)是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。”(http://www.worldhello.net/gotgithub/01-explore-github/010-what-is-github.html

    Git是一个分布式的版本控制系统。版本控制,对于有且仅有我一个人参与的项目而言,需求实际上并不是很多。我需要保存我的代码并可以便捷的查看,能够随时的修改而不受网络限制。可以根据我的修改即使的更新代码,并且提供更新前后的对比,更新说明记录,同时根据更新记录,可以查找修改之前的代码。除了代码内的注释,我还希望能够对整个项目做具体的说明,这不仅有利于别人了解这是什么,也时时刻刻提醒自己这是什么,还有什么需要修改的地方。这些需求都被轻松的满足了,当然,Git的魅力远不在此。

    GotGitHub中有简洁形象的关于Git的描述。对于一个你的开源的项目,参与者不仅仅会是你本身,还有和你一起的核心开发人员和希望加入的外围开发人员。而你可能也会希望加入别人的开源项目。Git是如何协调这几类人员之间的关系?我写的肯定没有这里的好,所以去这里看吧……

3. 建立repository

    Repository: 版本库

    账号注册和软件安装之类的不谈(注意:账号注册之后,显示在你的版本库之前的名字是改不掉的),创建一个新版本库是第一步(也可以Fork别人的版本库,这个先不谈,因为我没有做过)。网页的操作都很简单,还有详尽的帮助,这一过程在网页上完成就可以了。只需要指定名称,描述(可选),勾选上README,是否添加gitignore(不太懂,见Ignoring files),添加合适的license。点击按钮就可以创建版本库了。

    运行GitHub for Widnows,登录你的GitHub账号,点击左上角的 '+' ,选择Clone可以复制云端的版本库到本地的指定位置。

 

    新建立的版本库中只可能有README和Ignoring 文件。版本库中的任何改变(文件添加、删除和修改)都会体现在Changes中,文件名后的绿色表示添加内容,红色表示删除内容。完成修改后,写上本次Commit的标题和内容,可以点击Commit按钮上传修改。如果在其他地方对版本库有修改,则需要先点击同步按钮获取最新版本库之后,才能够上传修改。

    任何的Commit都会记录在History中,可以在此处查看提交的内容,对比提交前后的变化,甚至可以撤销修改(通过重新提交修改的方式)。下图分别是Changes(左)和History(右)的显示。

4. README和其他说明

    回到第二节的需求,其中有一条是“除了代码内的注释,我还希望能够对整个项目做具体的说明,这不仅有利于别人了解这是什么,也时时刻刻提醒自己这是什么,还有什么需要修改的地方”。

    第三节中初始化的README起到了这个作用,README会显示在版本库的下方(网页),如

 

    .md后缀的README文件内容采用Markdown,Markdown基本语法见第五节。打开README.md文件,编辑即可,不放心的话还可以找一个Markdown编辑器(参考),或者选择一款在线编辑器。GitHub还提供了其他的方式来展现整个版本库的内容、功能。

    简单的操作就能制作精美的项目主页,在版本库的设置中,点击'Launch automatic page generator',利用Markdown标记内容,之后选择合适的模板就可以生成精美的项目主页,项目主页域名为<user-id>.github.io/<project-name>,譬如http://caowenhui.github.io/LDPCC/

 

    这里我直接将README中的内容添加到了项目主页上,效果如下图(效果取决于选择的模板,自己写也可以)

   

    在网页创建了项目主要之后,在GitHub for Windows 下同步后会发现,版本库多了一个名为gh-pages的分支。当我们建立一个新的版本库的时候,默认会创建一个master分支。那么分支是用来干什么的呢?使用git 新建分支以及管理分支提到了这个问题,如果想测试某个功能,又不想改变主分支的内容,那么可以创建一个新的分支,这个分支会复制主分支的全部内容。

    而gh-pages是一个特殊的分支,gh-pages不包含主分支内容,在gh-pages中添加静态网页后,GitHub会自动调用该分支内的内容。

5. Markdown基本语法

    通常来说,撰写文档的时候会用到的基本格式、内容包括以下几种

  • 标题和标题级别
  • 列表和有序列表
  • 超链接
  • 图片

    下面将简单介绍基本语法,更多内容可参考http://www.appinn.com/markdown/#p

    标题通常采用以下方式,即通过#标识这是标题,通过#的个数标识这是几级标题

# 这是一级标题
## 这是二级标题
###### 这是六级标题

    列表才有*,+,-标识,如

*   Red
* Green
* Blue

    有序列表通过数字加英文的 '.' 标识,注意内容之前需要加上一个空格(有序列表的数字不一定需要有序,但是建议这样做)

1.  Bird
2. McHale
3. Parish

    图片和超链接具有相同的形式(图片之前有一 '!'),即[文字](链接)的形式。

超链接表示形式:[博客](http://www.cnblogs.com/sea-wind2)
图片表示形式 : ![误码率曲线](/BER.png)

6. 其他

    最简单的使用说明,功能远没有结束。其中最重要的一点是如何和他人共同工作?这个他人,可能指团队内的合作者,或是其他对这个项目感兴趣其他程序员,还可能是不精通编程但对这个项目有一些见解的人。GitHub上的Fork,Pull,Issue等,这里就先不做说明了,因为我也没有什么体会。

GitHub: Windows 下的简单使用的更多相关文章

  1. sphinx在windows下的简单安装与使用

    1.下载地址 http://sphinxsearch.com/downloads/release/,我这里下的是“Win64 binaries w/MySQL+PgSQL+libstemmer+id6 ...

  2. Windows 下 MySQL 简单定时自动备份、删除过期备份

    Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...

  3. nginx+php 在windows下的简单配置安装

    开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:h ...

  4. Windows 下 MongoDb 简单配置

    以管理员的启动cmd        进入安装目录下                      输入:  mongod  --auth --port 3406  --dbpath=库地址  --logp ...

  5. Windows下比较简单的获取网页源码的方法

    第一个方法是使用MFC里面的 <afxinet.h> CString GetHttpFileData(CString strUrl) { CInternetSession Session( ...

  6. virtualenv 在windows下的简单应用

    https://docs.python.org/zh-cn/3/tutorial/venv.html cmd下的操作: pip  install virtualenv pip install virt ...

  7. 转-Windows下anaconda简单使用教程

    转自:https://www.cnblogs.com/Dota-wiki/p/7871838.html Anaconda is a completely free Python distributio ...

  8. Windows环境下ELK简单搭建记录

    前言 ELK已经是一套成熟的日志解决方案,虽然出现了好久,今日才终于研究了一下,不过是在windows平台上安装的. 搭建步骤 下载软件 安装软件 修改配置文件 启动软件 集成测试 下载软件 首先从官 ...

  9. Windows下编译vpx获得各个项目VS2010解决方案的步骤

    最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...

随机推荐

  1. Linux文件操作常用命令整理

    收集.整理日常系统管理或维护当中的,常用到的一些关于文件操作的命令或需求,后续会慢慢补充.完善! 查看.生成指定目录的目录树结构?   [root@DB-Server ~]#tree   #当前目录 ...

  2. Protocol 编码的三种常用方式

    1.使用固定长度 2.使用固定长度的请求头,请求头中说明了body的长度. 例如HTTP 协议: http请求协议: http 响应协议: 3.使用界定符.例如有很多基于text(文本)协议都会在每个 ...

  3. SQL Server调优系列进阶篇(查询语句运行几个指标值监测)

    前言 上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤.筛选条件分析.索引项优化等信息. 本篇我们分析在我们运行的过程中几个关键指标值的检测. 通过这些指标值来分析语句的运行问 ...

  4. Oracle 常用SQL技巧(转)

    1. SELECT子句中避免使用 “*”当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解 ...

  5. 前端构建工具gulp介绍

    2016年3月3日 10:46:08     晴 前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简 ...

  6. x01.os.17: 换心术

    在 linux 中编译 linux, 于是 linux 便有了再生能力.这不同于自然界的缓慢进化,可用神速来形容.—— 和强大的 windows 相抗衡,便是证明! 我在 ubuntu 中的编译方法如 ...

  7. mysql级联更新

    MySQL  各种级联查询后更新(update select). CREATE TABLE `tb1` (  `id` int(11) NOT NULL,  `A` varchar(100) defa ...

  8. STM32之USART库函数USART_SendData的bug

    转载自:http://www.cnblogs.com/itloverhpu/p/3250537.html 1.最近在调试ATM32F103CB时发现,一串数据的最后一个字节总是发送不出去,用的是RS4 ...

  9. css3 选择器(二)

    接css3选择器(一) 八.结构性伪类选择器[:nth-child(n)] :nth-child(n)选择器用来匹配某个父元素的一个或多个特定的子元素,和jquery中一样. 其中"n&qu ...

  10. 退役了退役了-AJAX

    hi 昨晚打球悲剧的把脚崴了. 要知道,上一次崴脚是四年前:那一次伤的是左脚,也是我这么多年打篮球的生涯中,这么多次崴脚中,最严重的一次受伤.休息了整整一个月,受寝室兄弟们的无微不至的照顾,最后也买了 ...