【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。

posted @ 2014-10-27 13:47  mfrbuaa  阅读(434)  评论(0编辑  收藏  举报