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 ...
随机推荐
- Tomcat 目录详解
一.文字版本: bin: 该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe.tomcat6w.exe,前者是在控制台下启动Tomcat,后者是 ...
- addrinfo 结构
typedef struct addrinfo {int ai_flags;int ai_family;int ai_sockty ...
- flock — 轻便的咨询文件锁定
bool flock ( resource $handle , int $operation [, int &$wouldblock ] ) handle 文件系统指针,是典型地由 ...
- golang和vim-go安装配置
一.Golang安装 1.下载golang安装包http://golangtc.com/download,我这里下载的是go1.6rc2.linux-amd64.tar.gz. 2.解压到安装目录,我 ...
- nodejs——网络编程模块
net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法.dgram模块用于UDP网络编程. 参考链接:https://nodejs.org/api/net.html, ...
- 退役了退役了-AJAX
hi 昨晚打球悲剧的把脚崴了. 要知道,上一次崴脚是四年前:那一次伤的是左脚,也是我这么多年打篮球的生涯中,这么多次崴脚中,最严重的一次受伤.休息了整整一个月,受寝室兄弟们的无微不至的照顾,最后也买了 ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- Thread对象的yield(),wait(),notify(),notifyall()
Thread类中的主要方法: join()方法:让一个线程强制运行,线程强制运行期间,其他线程无法运行,必须等到此线程完成之后才可以继续执行. setDaemon():设置线程为后台线程,这样即使Ja ...
- poj2632 Crashing Robots
Crashing Robots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9859 Accepted: 4209 D ...
- 《ASP.NET MVC 5 高级编程(第5版)》
第1章.入门 本章主要内容: ASP.NET MVC 5概述 其应用程序的创建方法 其应用程序的及结构 概述:将MVC设计模式应用于ASP.NET框架 ASP.NET 1.0支持两层抽象: Syste ...