这段时间在博客园多了很多关于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. FreeMarker 日期转换

    ${parameters.fieldDate?date}                                           //标准日期转日期字符串 ${parameters.fie ...

  2. Tomcat:Custom a common error page valve for all web application in tomcat

    如果在一个Tomcat Server上会部署多个Web应用,又希望这多个Web应用共用一套错误页面,而不是使用默认的错误页面.就需要自定义错误页面了. 在每个web应用中都可以通过error-page ...

  3. 万能面试问题大全,教你怎么回答,怎么拿下offer

    一.你对薪资的要求? 回答提示: 说实话,大家找工作,都希望找个高薪的,那我们如何和公司去谈薪酬呢?如果你对薪酬的要求太低,那显然贬低自己的能力:如果你对薪酬的要求太高,那又会显得你分量过重,公司受用 ...

  4. Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法

    Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法 You can extract all the ...

  5. python 笔记(一) —— 不要误用 ++i、--i

    ilocker:关注 Android 安全(新手) QQ: 2597294287 在 python 中也可以写 ++i,但含义完全不同于 c/c++.python 的 ++i 并不是将 i 自增 1, ...

  6. ORACLE之ASM概念

    一.     ASM(自动存储管理)的来由: ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的 ...

  7. Eclipse中启动tomcat报错:A child container failed during start

    我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...

  8. 《Remus: High Availability via Asychronous Virtual Machine Replication》翻译

    Abstract 想要让应用能够躲过硬件故障是一项非常昂贵的任务,因为这通常意味着对软件进行重构,使它包含复杂的恢复逻辑的同时需要部署专用的硬件,而这些对于提升大型的或者遗留的应用的可靠性是巨大的障碍 ...

  9. [转]forever: 让nodejs应用后台执行

    在LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Li ...

  10. UI的重用性

    UI抽取思路 一款手机游戏中UI有几十个到上百个不等,如果一个一个做这些UI,无疑会花费很多时间. 近期我们的游戏UI已经是第N次改版了,经过这N多次的修改,我总结了UI其实有很多的共性(就是相同性) ...