前言:有时候在公司上班时自己写了一些代码,打算下班回家后继续写,或者在家修改好的代码第二天要拷到公司继续完善,代码就经常要在这两者之间来回同步,通常情况下我用网盘或者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 初探的更多相关文章

  1. Git常用命令及使用,GitLab/GitHub初探,Git/Svn区别

    Git安装配置及常用命令 0 Git本地分支管理 1 Git远程分支管理 2 Git Tag标签管理 3 Git Log日志 4 其它高级命令 5 常规使用及介绍 6 角色权限 7 分支定义 8 一般 ...

  2. 搜刮一些开源项目的APP

    iOS完整App资源收集 <iOS完整app资源收集>  <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...

  3. 页面定制CSS代码初探(四):cnblogs使用Github引用样式

    前言 对于用惯了Github的人来说,眼里的引用应该是这样的 "Talk is cheap. Show me the code" -- Linus Torvalds 然而实际上cn ...

  4. [Jenkins][GitHub]2 持续集成环境初探

    预计阅读时间:30分钟 部署环境:Jenkins ver. 2.61 + Centos7 + Java 1.8 参考链接: http://www.jianshu.com/p/22b7860b4e81 ...

  5. 初探CI,Github调戏Action手记——自动构建并发布

    前言 最近在做脚本的说明文档时使用了vuepress这个东西 前端实在是菜,只能随便写写了 正常写完md文件之后推送至github做版本控制 而前端页面的生成则是在本地,部署也是在本地手工进行 一套下 ...

  6. 陋居寡闻,初探Github CLI For Windows,开启命令行撸铁时代

    简介 gh is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to t ...

  7. github安装&初探

    主要记录安装中的问题: 1 centos 5和6的epel源需要不同的包来更新 Centos 5.x wget http://dl.fedoraproject.org/pub/epel/5/x86_6 ...

  8. CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探

    CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...

  9. 从273二手车的M站点初探js模块化编程

    前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...

随机推荐

  1. Git入门学习和应用笔记

    >>关于Git 1.BitMover公司收回Linux社区的BitKeeper免费使用权,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git.2.什么是集中式版本控制系 ...

  2. EF架构~为EF DbContext生成的实体添加注释(T5模板应用)(转载)

    转载地址:http://www.newlifex.com/showtopic-1072.aspx 最近新项目要用Entity Framework 6.x,但是我发现从数据库生成模型时没有生成字段的注释 ...

  3. ytu 2029: C语言实验——温度转换(水题)

    2029: C语言实验——温度转换 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 12  Solved: 10[Submit][Status][Web B ...

  4. Xamarin.Android开发实践(六)

    Xamarin.Android通知详解 一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android ...

  5. Java Hour 46 SLF4J

    SLF4J(Simple Logging Facade for Jave). 上个章节在配置启动项目后,会报一个奇怪的错误,一开始以为是Maven 依赖有冲突,其实是和slf4j 密切相关的. 本文原 ...

  6. x264_param_t结构体参数分析

    转自:http://blog.chinaunix.net/uid-17053077-id-1987955.html 参考网上的一些资料,结合个人的理解,对x264中x264_param_t结构体作了初 ...

  7. 小甲鱼PE详解之输入表(导入表)详解2(PE详解08)

    在此之前,我们已经对这个输入表进行了一些实践和理解,这有助于大家对这个概念更进一步的加深认识.小甲鱼觉得,越是复杂的问题我们应该越是去动手操作它,认识它,这样才容易熟悉它! 在上一节课我们像小鹿一样的 ...

  8. Loadrunner中web_custom_request使用场景

    其中有一段从服务器段动态返回的字符串需要重新提交给服务器(见红色标注) 录制自动生成的脚本是: web_submit_data("generateYfLstAction.do",  ...

  9. 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 ...

  10. TYVJ P1073 加分二叉树 Label:区间dp

    背景 NOIP2003 提高组 第三道 描述 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第j个节点的 ...