【Github教程】史上最全github用法:github入门到精通
原文 http://www.eoeandroid.com/thread-274556-1-1.html
【初识Github】
首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。
Git是一个分布式的版本号控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其他项目中也取得了非常大成功,尤其是在Ruby社区中。眼下,包含Rubinius和Merb在内的非常多知名项目都使用了Git。Git相同能够被诸如Capistrano和Vlad
the Deployer这种部署工具所使用。相同,eoe.cnclient的源代码也托管在github上。
GitHub能够托管各种git库,并提供一个web界面,但与其他像 SourceForge或Google Code这种服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码很easy:首先点击项目网站的“fork”的button,然后将代码检出并将改动添�到刚才分出的代码库中,最后通过内建的“pull
request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。
GitHub 使用 git 分布式版本号控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,由于它一点也不像
Windows。GitHub 公布了GitHub for Windows,为 Windows 平台开发人员提供了一个易于使用的 Git 图形client。
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.安装clientmsysgit
github是服务端,要想在自己电脑上使用git我们还须要一个gitclient,我这里选用msysgit,这个仅仅是提供了git的核心功能,并且是基于命令行的。假设想要图形界面的话仅仅要在msysgit的基础上安装TortoiseGit就可以。
装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git目录,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还须要配置ssh
key。
3.配置Git
首先在本地创建ssh key;
ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入password,我们这使用默认的一路回车即可。成功的话会在~/下生成.ssh目录,进去,打开id_rsa.pub,复制里面的key。
回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:
$ ssh -T git@github.com
假设是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
接下来我们要做的就是把本地仓库传到github上去,在此之前还须要设置username和email,由于github每次commit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
进入要上传的仓库,右键git bash,加入�远程地址:
$ git remote add origin git@github.com:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的username和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才加入�的远程地址,也能够直接改动config来配置远程地址。
4.提交、上传
接下来在本地仓库里加入�一些文件,比方README,
$ git add README
$ git commit -m "first commit"
上传到github:
$ git push origin master
git push命令会将本地仓库推送到远程server。
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是这样写的:
bin
*.suo
obj
bin和obj是编译文件夹,里面都不是源码,忽略;suo文件是vs2010的配置文件,不须要。这样你在git status的时候就仅仅会看到源码文件了,就能够放心的git add -A了。
6.tag
我们能够创建一个tag来指向软件开发中的一个关键时期,比方版本更新的时候能够建一个“v2.0”、“v3.1”之类的标签,这样在以后回想的时候会比較方便。tag的使用非常easy,主要操作有:查看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下gitserver的搭建
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。
【Github教程】史上最全github用法:github入门到精通的更多相关文章
- python学习教程,史上最全面的python学习路线图
Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Pyt ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- 史上最全面的SignalR系列教程-2、SignalR 实现推送功能-永久连接类实现方式
1.概述 通过上篇史上最全面的SignalR系列教程-1.认识SignalR文章的介绍,我们对SignalR技术已经有了一个全面的了解.本篇开始就通过SignalR的典型应用的实现方式做介绍,例子虽然 ...
- 史上最全面的SignalR系列教程-3、SignalR 实现推送功能-集线器类实现方式
1.概述 通过前两篇 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 文章对SignalR的介绍, ...
- 史上最全面的SignalR系列教程-4、SignalR 自托管全解(使用Self-Host)-附各终端详细实例
1.概述 通过前面几篇文章 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 史上最全面的Signa ...
- 史上最全面的SignalR系列教程-5、SignalR 实现一对一聊天
1.概述 通过前面几篇文章 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 史上最全面的Signa ...
- 史上最全面的SignalR系列教程-6、SignalR 实现聊天室
1.概述 通过前面几篇文章对SignalR的详细介绍.我们知道Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long po ...
- 史上最全面的SignalR系列教程-目录汇总
1.引言 最遗憾的不是把理想丢在路上,而是理想从未上路. 每一个将想法变成现实的人,都值得称赞和学习. 致正在奔跑的您! 2.SignalR介绍 SignalR实现服务器与客户端的实时通信 ,她是一个 ...
- sentinel (史上最全+入门教程)
文章很长,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈 为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 < Java 高并发 三部曲 > 面试必备 + 大厂 ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
随机推荐
- linux常用命令之--文件打包与压缩命令
linux的文件打包与压缩命令 1.压缩与解压命令 compress:用于压缩指定的文件,后缀为.z 其命令格式如下: compress [-d] 文件名 常用参数: -d:解压被压缩的文件(.z为后 ...
- 学习笔记 - 深究Bitmap压缩避免OOM的核心inSampleSize的最佳取值
/** * 测试代码,通过在SDCard根目录放置几种不同大小的图片, 来自动测试压缩方式是否有效同时看是否会内存不够. * * @since * By:AsionTang * At:2014年3月2 ...
- 获取本机外网IP的方式笔记
1.IP138 网址:http://www.ip138.com/: 分离出的快速查询地址:http://20140507.ip138.com/ic.asp(2014年8月9日有效) 个人经验:百度搜索 ...
- linux 常用命令基础
linux常用的命令 shell 是命令语句,命令解释程序以及程序设计语言的统称,它不仅仅拥有自己内建的shell命令集,同时也能被系统中其他应用程序所调用 shell 的一个重要特性是它本身就是一个 ...
- [原创]cocos2d-x + Lua接入iOS原生SDK的实现方案
相信很多朋友在使用cocos2d-x+lua开发游戏时都遇到过接入iOS原生SDK的问题,比如常见的接应用内支付SDK,广告SDK或是一些社交平台SDK等等,我也没少接过这类SDK.这篇文章主要是对我 ...
- asmcmd报错
在进入asm的命令行时报错: 报错内容如下 [oracle@kel dbs]$ asmcmd asmcmd: command disallowed by current instance type 从 ...
- Dapper基础用法
假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载Dapper的优势:1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后 ...
- 防asp木马运行
首 页 > 技术支持 防asp木马运行 目前比较流行的ASP木马主要通过三种技术来进行对服务器的相关操作. 一.使用FileSystemObject组件 FileSystemObject可以对文 ...
- Nginx和Tengine的详细安装图文教程(Linux下)
简洁安装 安装依赖 yum -y install gcc openssl-devel pcre-devel zlib-devel 编译三步走./configure \ --prefix=/opt/sx ...
- HDU 4882 ZCC Loves Codefires (贪心)
ZCC Loves Codefires 题目链接: http://acm.hust.edu.cn/vjudge/contest/121349#problem/B Description Though ...