GitHub 初探
前言:有时候在公司上班时自己写了一些代码,打算下班回家后继续写,或者在家修改好的代码第二天要拷到公司继续完善,代码就经常要在这两者之间来回同步,通常情况下我用网盘或者U盘,但是实在是很麻烦,不断的备份和重命名,而且还非常容易覆盖出错,所以决定使用时下非常流行的 Git 和 GitHub 来管理自己的代码。
1.Git 与 GitHub
Git 是 C语言开发的分布式版本控制系统,GitHub 是一个基于Git的代码托管平台,同时也是全球最流行的开源项目(包括 Git , PHP , jQuery , Ruby , Mongodb , Zendframework/Zf2 , Facebook , WordPress , GitHub , Twitter , Cakephp ,Yii 等)的托管站点。Github 的付费用户可以建立私人仓库,免费用户只能使用公用仓库,即代码要公开。
Git 最初是为帮助管理 Linux 内核而开发的开源的版本控制软件,2012年5月 GitHub 发布了为 Windows 平台开发者提供的 Git 图形客户端:GitHub for Windows,它可以处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。除了管理 GitHub 库,还可以管理其他的 Git 库。
GitHub for Windows ( G4W ) 是基于 MSysGit ( 即 Git for Windows,它是 Git 版本控制系统在 Windows 下的版本 )的,Windows 用户可以使用 MSysGit 配合图形界面软件 TortoiseSVN 的 Git 版本:TortoiseGit,也可以使用 G4W 或其他的客户端。
2.使用 GitHub 和 GitHub for Windows 创建、同步仓库和项目
①登录GitHub ( https://github.com/ ),注册完之后,创建仓库( New repository ),如图:

②填写仓库名称和描述,不需要勾选 Initialize this repository with a README。
③点击"Create repository",得到地址 https://github.com/dee0912/myRepository.git

也可以使用 G4W( v2.4.1.2 ) 来创建仓库:
①下载地址:https://windows.github.com/ ,只支持Vista,7和8 ),使用 G4W 可省去使用命令行将自己的SSH公钥添加到 GitHub 帐户里,以验证自己的身份,获得提交的权限,客户端会自动为你添加。
在上面的地址下载安装( Win7下 ) GitHubSetup.exe,安装过程中会自动安装.NET Framework:

.NET Framework安装完之后就开始安装 G4W:

在这期间可以干点别的;)
②装完之后,登录客户端:

而且桌面上多了两个图标:

登录之后会收到一封邮件,里面会有你的SSH key。
③此时可以使用客户端在本地创建仓库了:

④创建好之后显示:

⑤这个时候可以提交到远程仓库,选择Publish Repository:

⑥此时客户端 Publish Repository 变成了Sync,表示以后每次修改之后的提交就是同步到远程服务器:

⑦此时登录网页版GitHub,可以看到多了一个仓库:

⑧在仓库中添加项目,添加完之后客户端多了栏目Uncommitted changes:

⑨展开Uncommitted changes,添加完描述之后,选择Commit to master:

最后,点击Sync将本地仓库提交到GitHub,同步完之后登录网页版,就能看到自己的项目:

使用G4W创建、同步仓库和项目先写到这里。更详细的代码管理以后再记录。
3.在 GitHub 上参与开源项目
①在GitHub上为感兴趣的开源程序添砖加瓦,可以进到该项目的主页,选择Fork,此时在自己的GitHub账户下会出现一个相同项目的备份:

以后你对项目进行的修改、提交和贡献都在这个备份仓库中进行。
②选择Clone in Desktop或者Download ZIP,把项目下载至本地:

之后就可以修改、完善、增加内容,提交到你的GitHub仓库中
想要把你的修改合并到项目的主分支并最终生效,就需要申请一个pull操作并等待项目创建者进行合并操作。进入你帐户下项目的主页,点击pull requests->New pull request,点击合并链接请求合并,至此操作结束,接下来就是项目创建者要做的事情了,如果他check提交的文件内容后,认为可以可并那么就会响应你的pull请求,如果觉得不可以合并就不会响应pull请求。只有在pull请求被响应后,你提交的代码修改内容才会同步到主项目中去。
更多阅读:蒋鑫 GitHUb,颜海镜 我的 git 笔记
GitHub 初探的更多相关文章
- Git常用命令及使用,GitLab/GitHub初探,Git/Svn区别
Git安装配置及常用命令 0 Git本地分支管理 1 Git远程分支管理 2 Git Tag标签管理 3 Git Log日志 4 其它高级命令 5 常规使用及介绍 6 角色权限 7 分支定义 8 一般 ...
- 搜刮一些开源项目的APP
iOS完整App资源收集 <iOS完整app资源收集> <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...
- 页面定制CSS代码初探(四):cnblogs使用Github引用样式
前言 对于用惯了Github的人来说,眼里的引用应该是这样的 "Talk is cheap. Show me the code" -- Linus Torvalds 然而实际上cn ...
- [Jenkins][GitHub]2 持续集成环境初探
预计阅读时间:30分钟 部署环境:Jenkins ver. 2.61 + Centos7 + Java 1.8 参考链接: http://www.jianshu.com/p/22b7860b4e81 ...
- 初探CI,Github调戏Action手记——自动构建并发布
前言 最近在做脚本的说明文档时使用了vuepress这个东西 前端实在是菜,只能随便写写了 正常写完md文件之后推送至github做版本控制 而前端页面的生成则是在本地,部署也是在本地手工进行 一套下 ...
- 陋居寡闻,初探Github CLI For Windows,开启命令行撸铁时代
简介 gh is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to t ...
- github安装&初探
主要记录安装中的问题: 1 centos 5和6的epel源需要不同的包来更新 Centos 5.x wget http://dl.fedoraproject.org/pub/epel/5/x86_6 ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
随机推荐
- Git入门学习和应用笔记
>>关于Git 1.BitMover公司收回Linux社区的BitKeeper免费使用权,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git.2.什么是集中式版本控制系 ...
- EF架构~为EF DbContext生成的实体添加注释(T5模板应用)(转载)
转载地址:http://www.newlifex.com/showtopic-1072.aspx 最近新项目要用Entity Framework 6.x,但是我发现从数据库生成模型时没有生成字段的注释 ...
- ytu 2029: C语言实验——温度转换(水题)
2029: C语言实验——温度转换 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 12 Solved: 10[Submit][Status][Web B ...
- Xamarin.Android开发实践(六)
Xamarin.Android通知详解 一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android ...
- Java Hour 46 SLF4J
SLF4J(Simple Logging Facade for Jave). 上个章节在配置启动项目后,会报一个奇怪的错误,一开始以为是Maven 依赖有冲突,其实是和slf4j 密切相关的. 本文原 ...
- x264_param_t结构体参数分析
转自:http://blog.chinaunix.net/uid-17053077-id-1987955.html 参考网上的一些资料,结合个人的理解,对x264中x264_param_t结构体作了初 ...
- 小甲鱼PE详解之输入表(导入表)详解2(PE详解08)
在此之前,我们已经对这个输入表进行了一些实践和理解,这有助于大家对这个概念更进一步的加深认识.小甲鱼觉得,越是复杂的问题我们应该越是去动手操作它,认识它,这样才容易熟悉它! 在上一节课我们像小鹿一样的 ...
- Loadrunner中web_custom_request使用场景
其中有一段从服务器段动态返回的字符串需要重新提交给服务器(见红色标注) 录制自动生成的脚本是: web_submit_data("generateYfLstAction.do", ...
- linux中使用top获取进程的资源占用信息
在linux中使用top获取进程的资源占用信息: Cpu(s): 1.0%us, 0.0%sy, 0.0%ni, 98.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0 ...
- TYVJ P1073 加分二叉树 Label:区间dp
背景 NOIP2003 提高组 第三道 描述 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第j个节点的 ...