【初识Github】

首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。同样,eoe.cn客户端的源码也托管在github上。

GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

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

GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。

GitHub For Windows
GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。

GitHub上已自动配置的Mac笔记本电脑,一个工具,可以转换设置Linux或Windows机器。

BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑软件开发[3]或其他类型的工作,正在使用他们的开发人员,律师,设计师,付货人,等。我们的想法是准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据GitHub上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。

BOXEN的基础上收集了大量的几十个木偶模块,使设置的各种软件,如卡桑德拉,MongoDB中,Java软件中,Python和Ruby开发中,节点,JS,nginx的,Skype公司,甚至MINECRAFT。虽然机器上配备了一个预配置,每个用户都可以调整它的配置应有的作用。

【如何使用】

1.注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

2.安装客户端msysgit

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。

装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。

3.配置Git

首先在本地创建ssh key;
?
代码片段,双击复制
01
$ ssh-keygen -t rsa -C "your_email@youremail.com"

后面的 your_email@youremail.com 改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。

回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:
?
代码片段,双击复制
01
$ ssh -T "\"mailto:git@github.com\""target="\"_blank\""<git@github.com   
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
?
代码片段,双击复制
01
02
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"

进入要上传的仓库,右键git bash,添加远程地址:
?
代码片段,双击复制
01
$ git remote add origin "\"mailto:git@github.com\""target="\"_blank\""<git@github.com:yourName/yourRepo.git   

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

4.提交、上传

接下来在本地仓库里添加一些文件,比如README,
?
代码片段,双击复制
01
02
$ git add README
$ git commit -m "first commit"

上传到github:
?
代码片段,双击复制
01
$ git push origin master

git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。

修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。

5.gitignore文件

.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:
?
代码片段,双击复制
01
02
03
bin
*.suo
obj

bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。

6.tag

我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag,这些下面的博客中有详细讲解。

【Github的相关使用文章】
Git介绍,安装,Git+Git flow使用:http://my.eoe.cn/fogs/archive/799.html
Git 指令集:http://my.eoe.cn/iceskysl/archive/463.html
在mac上安装git-flow过程:http://my.eoe.cn/iceskysl/archive/118.html
git fetch 的简单用法:更新远程代码到本地仓库:http://my.eoe.cn/com360/archive/3533.html
git 如何让单个文件回退到指定的版本:http://my.eoe.cn/com360/archive/3351.html
如何使用Github上的开源项目:http://my.eoe.cn/fengyiyezi/archive/3427.html
Window(8)下安装 MSysGit 、gitflow 、GitHub:http://my.eoe.cn/sunxun/archive/158.html
git 打tag:http://my.eoe.cn/xiayang6/archive/446.html
基于Github参与eoe的开源项目指南:http://my.eoe.cn/iceskysl/archive/3195.html
Git stash 使用方法:http://my.eoe.cn/sunxun/archive/190.html
Git tag的使用:http://my.eoe.cn/futurexiong/archive/1943.html
大白话讲解如何给github上项目贡献代码:http://my.eoe.cn/leigo/archive/3221.html

最后再推荐几篇社区里介绍知道github使用的帖子:

githup的使用
http://www.eoeandroid.com/thread-272837-1-1.html

Eclipse上GIT插件EGIT使用手册
http://www.eoeandroid.com/thread-273360-1-1.html

ubuntu下git服务器的搭建
http://www.eoeandroid.com/thread-273167-1-1.html

git , vim , ls 全局配置
http://www.eoeandroid.com/thread-229638-1-1.html

以上希望对大家学习起到积极的作用,一个好的程序猿势必要学会github的使用。如果本文大家觉得还不错,就告诉你身边的朋友吧,如果觉得看得过去那么就分享一下吧,如果觉得有待修改,那么请指出不足并且给打赏几个e币。最后感谢百度的无私支持,以及某个人的博客(说真的真的忘了他的地址是啥了),Hello Github。

文章来源:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=274556

【Github教程】史上最全github使用方法:github入门到精通相关推荐

  1. 史上最全的MonkeyRunner自动化测试从入门到精通(1)

    史上最全的MonkeyRunner自动化测试从入门到精通(1) 史上最全的MonkeyRunner自动化测试从入门到精通(2) 史上最全的MonkeyRunner自动化测试从入门到精通(3) 史上最全 ...

  2. 史上最全的MonkeyRunner自动化测试从入门到精通(10)

    三.MonkeyRunner复杂的功能开始学习 (1)获取APK文件中ID的两种方式 Monkeyrunner的环境已经搭建完成,现在对Monkeyrunner做一个简介. Monkeyrunner工 ...

  3. AutoJs Pro 7.0.4-1 实战教程---史上最全快手极速版

    快手极速版邀请码:  610 265 975 看文章加关注点分享都不用...加下邀请码就好. PS:最近快手大行动做了很多保护机制,至少分身模型是不可以了,我们专业版群里的高手总结就是一机一开一号,完 ...

  4. AutoJs Pro 7.0.4-1 实战教程---史上最全抖音极速版

    抖音极速版邀请码: 896357244  看文章加关注点分享都不用...加下邀请码就好. 史上最全面得抖音极速版实战代码分享: 1.自动滑动 2.自动签到 3.自动点赞 4.自动评论 5.曲线直线滑动 ...

  5. 老式计算机组装教程,史上最全的电脑安装教程 90后小妹妹手把手教你装电脑的图文教程...

    如今电脑已经成为家家户户都不可少的家用电器,而组装电脑是家庭最适合的,相比品牌电脑性价比要高.可能一些用户自己还不会装电脑,那么你可是比较落后了,现在很多年轻人都会自己装电脑,如果你还不会请看以下90 ...

  6. python编程基础教程-史上最全Python编程基础入门教程

    变量.运算符与数据类型 1. 注释 在 Python 中,单行注释用 #,多行注释用 ''' ''' #[例子]单行注释 print("Hello world!") #Hello ...

  7. Python安装教程-史上最全

    文章目录 1. 前言: 2. 进入首页,点击Downloads,选择Windows 3. 如下图:就可以看到许多的Python版本 4. 下载真正的 Python 安装包. 5. 这里我选择的是: 6 ...

  8. Python安装教程---史上最全

    1.准备好安装包 1)上python官网下载python运行环境(Download Python | Python.org),目前比较稳定的是python-3.5.2 2)上pycharm官网下载最新 ...

  9. 史上最全docker安装方法!

    2017年2月8日,docker更新到1.13.1(更新日志),此后又分为了docker CE(社区版)和docker EE(商业版). 此处只分享docker CE安装方法,商业版多了容器资源监控和 ...

  10. 史上最全JavaScript数组方法

    一.以下是不改变数组本身的方法 1.concat()用于合并两个或多个数组 const a = ['你是','什么'] const b = ['牛马'] const c = a.concat(b) c ...

最新文章

  1. Excel VBA实现批量创建链接
  2. C语言程序设计及上机指导,《C语言程序设计上机指导》全套教案
  3. 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个
  4. (1)Uni-App入门
  5. 富爸爸系列 -- 《财务自由》学习笔记之二
  6. [转]状态压缩dp(状压dp)
  7. 【转载】Docker镜像打包示例
  8. 开源项目objective-zip
  9. OAI LTE系统搭建 -- OAI EPC
  10. 小松的STM32教程(14)——内部flash模拟eeprom
  11. mvn help:system下载包失败解决
  12. CYY文本批量助手2.0绿色版正式发布
  13. android 微信 耗电吗,微信太耗电了怎么办?微信耗电的两种解决方案
  14. NLPCC2019 - User-Characteristic Enhanced Model for Fake News Detection in Social Media
  15. 51智能小车前进后退左右旋转
  16. 将进酒:《惜樽空》敦煌抄本
  17. 怎样删除微信朋友圈的内容?超简单的方法免费分享!
  18. 关于龙蜥社区20个问题 |龙蜥问答第1期
  19. 关键点检测——68点图例
  20. windows11 文档背景设置护眼色

热门文章

  1. 解决 UltraISO 截断超长文件名的问题
  2. 常用网页使用js技巧收集(200多个)经典
  3. 各大银行IT情况对比
  4. Mysql分区 - List分区
  5. python打印一条横线的函数,去除换行
  6. android长按加入购物车,Android Studio实现简单购物车功能
  7. 选对婚纱珠宝 做最佳风格新娘
  8. Oracle Procedure详解
  9. IBM公司公布三层单元PCM-MLC,向3DX堆栈方案发起挑战
  10. java 网络爬虫(以爬取豆瓣为例)