《GitHub详细教程》  [ http://blog.csdn.net/tangbin330/article/details/9128765 ]

该博客主要是讲解Git仓库的操作方法和原理,不涉及GitHub。

GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“ fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。【熟练掌握分支的概念】

自己创建仓库:lisuxuan1993/LearningGitHub

用户名:lisuxuan1993。密码:l0。

操作指令如下:

git init

git add README.md

git commit -m "first commit"

git remote add origin  https://github.com/lisuxuan1993/LearningGitHub.git

git push -u origin master

1.在github上创建一个新的版本库

github首页,找到下图界面,点击“new repository”按钮:

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png

填下项目名称、描述、url等信息,然后提交。

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png

图中标红的一项的意思是只有付费用户才有私有库托管服务,在github上开源(public)项目托管是免费的。

这样一个新的版本库就创建完毕了。

接下来我们需要本地版本库和远程版本库(github上的)进行通信,还需要一些配置。

2.ssh配置

想要让本地版本库与远程版本库通信,需要配置下SSHkey。

2.1检查计算机上是否已经有SSH key

1. $ cd ~/.ssh

如果出现““No such file ordirectory”或类似的语句,说明缺少ssh的key。

2.2创建个新的SSH key

1. $ ssh-keygen -t rsa -C " your_email@youremail.com "

比如明河机子上的

1. $ ssh-keygen -t rsa -C " minghe36@126.com "

会出现类似下图的提示:

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png

直接按下“enter”键即可,然后输入密码。

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png

一切顺利的话,你可以查看下c:\Users\Administrator\.ssh\id_rsa.pub文件,复制里面的key码。

2.3增加ssh key到github上

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png

留意并不需要填写title,github会自动生成,直接把复制的key黏贴到key输入框确定即可。

2.4配置下git的用户名和email

1. $ git config --global user.name "minghe"

2. $ git config --global user.email " minghe36@126.com "

配置结束。

3.本地版本库和远程版本库的通信

3.1克隆个远程版本库

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png

“cdd:\git-test”切换到该目录。

3.2推送更新到远程版本库

先随意提交个文件到版本库

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png

由于是克隆远程版本库,已经存在远程分支origin,无需再创建。

(PS:创建远程分支:git remote addorigin  git@github.com :minghe/git-test.git)

查看远程分支情况,可以使用git branch -r命令。

推送修改到远程版本库:

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png

git push命名将推送内容到远程服务器。

与之相反的命令就是git pull。

git 提交修改到github上

1,在GITHUB.com注册相应帐号,建立Repositories。

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png

3,克隆GitHub项目

git clone git://github.com/xxx/xxx.git

注:要转到file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png在进行git bash操作

4,分支的创建和合并

# git branch local

# git checkout local 切换到local

注:这里的分支是在本地,没有在github服务器上建立分支。

5, 在local分支进行开发,开发完成后与master分支合并

# git checkout master

# git merge local

# git branch -d local 合并完后删除local

6,

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png

7,

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png

注:这时github还没有我添加的文件如:

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png

8,用$ git pull 获取现在master的最新更改。因为我对README.md 做了修改。

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png

9,最后将修改的内容提交到github服务器上。

$ git push origin master

注:一般origin默认为你clone的Repositories如: [url=mailto:%E2%80% 9Dgit@github.com :xxx/new-project.git]” git@github.com :xxx/new-project.git[/url]” 也可以自

定义远程服务器别名origin

# git remote add origin  git@github.com :xxx/new-project.git

最后成功。

file:///C:/Users/Youzh/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png

《Spring软件的GitHub地址》

——The Spring Framework repository has moved to  http://github.com/SpringSource/spring-framework.

See the readme there for details on working with Git, building the framework, etc.

ote that svn-based access is still available via GitHub's support for Subversion clients, e.g.:

N

$ svn checkout  https://github.com/SpringSource/spring-framework

See  https://github.com/blog/966-improved-subversion-client-support  for more details.

—— http://projects.spring.io/spring-framework

《git - 简明指南》

[ http://rogerdudler.github.io/git-guide/index.zh.html ]

《给SVN泼盆冷水,是时候用GIT了》

[ http://www.jianshu.com/p/fa7eac6bb2b2 ]

作者:Terry_Wang。简介:我只是不想虚度光阴。充实和富有挑战,才是自己骨子里最本质的东西。我不

期望自己能改变别人的世界,但愿能改变自己的世界。日期:2013-12-31 。

没有要排除任何工具的意思,只是眼下最流行的“版本管理系统”非GIT莫属。

Git有什么不一样:

——SVN属于中心式的仓库管理,统一维护在Server端,而Git属于分布式的仓库管理,每个开发者都拥有自

己的本地仓库,并且每个仓库都是平等的。

——由于你自己本身就拥有仓库,那么Git在本地磁盘上就保存着所有有关当前项目的历史更新,并且Git中

的绝大多数操作都只需要访问本地文件和资源,不用连网,所以处理起来速度飞快。用SVN的话,没有网络

或者断开VPN你就无法做任何事情。但用Git的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交

更新,等到了有网络的时候再上传到远程的镜像仓库。换作其他版本控制系统,这么做几乎不可能,抑或是

非常麻烦。

——并且Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的

版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。

——Svn?Svn是统一管理的好吧。开发时你的Boss说了算,说什么时候提交代码就什么时候提交代码,说

什么时候更新就统一更新,你觉得很爽?

——Git?Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并

会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。

——开源社区(比如 OSC@China )都采用了Git,而不是SVN。

Git for windows 和 msysGit:

这个你大致了解下就行,只是多一种选择,多一条路。msysGit的主页提供了两个项目:Git for Windows和msysGit,并写明了它们的详细区别。

个人认为,Git for Windows适合绝大多数程序猿(又见绝大多数),所以,强烈建议安装Git for Window。

msysGit使用一种很BT也很NB的方式来安装。先安装一个最小的MinGW/MSYS系统,然后使用git pull 所有的源码,调用gcc在本地编译成可执行文件。

《GitHub详细教程》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. mysql如何配置hbm.xml_配置数据库映射文件hbm.xml
  2. 关键字之defer、panic、recover
  3. 【若依(ruoyi)】按钮样式
  4. hill密码源代码c语言,古典密码(Hill加密算法)(示例代码)
  5. Hosting WCF in SharePoint 2007 (Part 1) 基本部署(转)
  6. c语言程序设计答案四,C语言程序设计练习四(参考答案)
  7. 搬运: CVonline: 图像数据库(二) (更新于20190821)
  8. CSS-animation-梦幻西游小案例
  9. “云界十年”——第十届中国云计算大会举行
  10. 东南大学计算机学院学办董烨,东南大学计算机教学实验中心(国家级)
  11. 使用PMW3901和VL53L1X 实现室内定点悬停
  12. pc端启用微信小程序
  13. 理不清薪酬,更心愁 穆穆-movno1
  14. Gateway整合Nacos前端请求报错404 NOT_FOUNT
  15. Kerberos双跳变通办法
  16. 也谈《人间正道是沧桑》中的破绽
  17. contec计算机主板说明书,PCA-6007 Rev.A1 PCA-6007LV Rev.A1 研华工控机主板
  18. 【Android】Retrofit基础源码分析
  19. 项目动态 | Apache Pulsar 2.7.3 版本介绍
  20. 爬虫爬虫 day2 爬取校网文章

热门文章

  1. Newdex Swap闪兑系统已通过PeckShield安全审计服务
  2. 学生党无线蓝牙耳机推荐哪个,2022口碑最好的蓝牙耳机推荐
  3. ZooKeeper学习笔记(八):ZooKeeper集群写数据原理
  4. 【教学类-30-02】10以内加法题不重复(一页两份)(包括6以内、7以内、8以内、9以内、10以内加法题 只抽取25个)
  5. 删除node_modules文件夹太慢
  6. 【报告分享】2021快手内容生态半年报-快手(附下载)
  7. springboot + shiro的配置
  8. 基于LVD、贝叶斯模型算法实现的电商行业商品评论与情感分析案例
  9. 一位非米粉关于小米的深度报告
  10. Linux运维-ip地址配置