GitHub: Windows 下的简单使用
这段时间在博客园多了很多关于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)
图片表示形式 : 
6. 其他
最简单的使用说明,功能远没有结束。其中最重要的一点是如何和他人共同工作?这个他人,可能指团队内的合作者,或是其他对这个项目感兴趣其他程序员,还可能是不精通编程但对这个项目有一些见解的人。GitHub上的Fork,Pull,Issue等,这里就先不做说明了,因为我也没有什么体会。
GitHub: Windows 下的简单使用的更多相关文章
- sphinx在windows下的简单安装与使用
1.下载地址 http://sphinxsearch.com/downloads/release/,我这里下的是“Win64 binaries w/MySQL+PgSQL+libstemmer+id6 ...
- Windows 下 MySQL 简单定时自动备份、删除过期备份
Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...
- nginx+php 在windows下的简单配置安装
开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:h ...
- Windows 下 MongoDb 简单配置
以管理员的启动cmd 进入安装目录下 输入: mongod --auth --port 3406 --dbpath=库地址 --logp ...
- Windows下比较简单的获取网页源码的方法
第一个方法是使用MFC里面的 <afxinet.h> CString GetHttpFileData(CString strUrl) { CInternetSession Session( ...
- virtualenv 在windows下的简单应用
https://docs.python.org/zh-cn/3/tutorial/venv.html cmd下的操作: pip install virtualenv pip install virt ...
- 转-Windows下anaconda简单使用教程
转自:https://www.cnblogs.com/Dota-wiki/p/7871838.html Anaconda is a completely free Python distributio ...
- Windows环境下ELK简单搭建记录
前言 ELK已经是一套成熟的日志解决方案,虽然出现了好久,今日才终于研究了一下,不过是在windows平台上安装的. 搭建步骤 下载软件 安装软件 修改配置文件 启动软件 集成测试 下载软件 首先从官 ...
- Windows下编译vpx获得各个项目VS2010解决方案的步骤
最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...
随机推荐
- FreeMarker 日期转换
${parameters.fieldDate?date} //标准日期转日期字符串 ${parameters.fie ...
- Tomcat:Custom a common error page valve for all web application in tomcat
如果在一个Tomcat Server上会部署多个Web应用,又希望这多个Web应用共用一套错误页面,而不是使用默认的错误页面.就需要自定义错误页面了. 在每个web应用中都可以通过error-page ...
- 万能面试问题大全,教你怎么回答,怎么拿下offer
一.你对薪资的要求? 回答提示: 说实话,大家找工作,都希望找个高薪的,那我们如何和公司去谈薪酬呢?如果你对薪酬的要求太低,那显然贬低自己的能力:如果你对薪酬的要求太高,那又会显得你分量过重,公司受用 ...
- Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法
Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法 You can extract all the ...
- python 笔记(一) —— 不要误用 ++i、--i
ilocker:关注 Android 安全(新手) QQ: 2597294287 在 python 中也可以写 ++i,但含义完全不同于 c/c++.python 的 ++i 并不是将 i 自增 1, ...
- ORACLE之ASM概念
一. ASM(自动存储管理)的来由: ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的 ...
- Eclipse中启动tomcat报错:A child container failed during start
我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...
- 《Remus: High Availability via Asychronous Virtual Machine Replication》翻译
Abstract 想要让应用能够躲过硬件故障是一项非常昂贵的任务,因为这通常意味着对软件进行重构,使它包含复杂的恢复逻辑的同时需要部署专用的硬件,而这些对于提升大型的或者遗留的应用的可靠性是巨大的障碍 ...
- [转]forever: 让nodejs应用后台执行
在LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Li ...
- UI的重用性
UI抽取思路 一款手机游戏中UI有几十个到上百个不等,如果一个一个做这些UI,无疑会花费很多时间. 近期我们的游戏UI已经是第N次改版了,经过这N多次的修改,我总结了UI其实有很多的共性(就是相同性) ...