【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 "[email protected]"

后面的[email protected]改为你的邮箱,之后会要求确认路径和输入password,我们这使用默认的一路回车即可。成功的话会在~/下生成.ssh目录,进去,打开id_rsa.pub,复制里面的key。

回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:

$ ssh -T [email protected]

假设是第一次的会提示是否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 "[email protected]"

进入要上传的仓库,右键git bash,加入远程地址:

$ git remote add origin [email protected]: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。

时间: 2024-10-12 20:34:34

【Github教程】史上最全github用法:github入门到精通的相关文章

python学习教程,史上最全面的python学习路线图

Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Python语言(用时5周,包括基础语法.面向对象.高级课程.经典课程): 阶段二是Linux初级(用时1周,包括Linux系统基本指令.常用服务安装): 阶段三是Web开发之Diango(5周+2周前端+3周diango): 阶段四是Web开发之Flask(用时2周): 阶段五是Web框架之Tornad

史上最全面的SignalR系列教程-目录汇总

1.引言 最遗憾的不是把理想丢在路上,而是理想从未上路. 每一个将想法变成现实的人,都值得称赞和学习. 致正在奔跑的您! 2.SignalR介绍 SignalR实现服务器与客户端的实时通信 ,她是一个面向 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程. 实时 web 功能是让服务器代码将内容推送到连接的客户端立即可用,而不是让服务器等待客户端请求新数据的能力. 3.百度百科给它的定义 实现实时通信. 什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可

.Net魔法堂:史上最全的ActiveX开发教程——ActiveX与JS间交互篇

一.前言 经过上几篇的学习,现在我们已经掌握了ActiveX的整个开发过程,但要发挥ActiveX的真正威力,必须依靠JS.下面一起来学习吧! 二.JS调用ActiveX方法 只需在UserControl子类中(即自定义的ActiveX控件中),编写公共方法即可. C# [Guid("0203DABD-51B8-4E8E-A1EB-156950EE1668")] public partial class Uploader : UserControl, IObjectSafety { p

.Net魔法堂:史上最全的ActiveX开发教程——部署篇

一.前言 接<.Net魔法堂:史上最全的ActiveX开发教程——发布篇>,后我们继续来部署吧! 二. 挽起衣袖来部署   ActiveX的部署其实就是客户端安装ActiveX组件,对未签名和已签名的ActiveX,分别有对应的部署方式. 1. 部署未签名的ActiveX 未签名的ActiveX控件不受浏览器端信任,默认是不被允许安装的 1. 将网站加入 **可信站点** 2. 在“可信站点”和“Internet”下的 **自定义级别** 中确认“对未标记为可安全执行脚本的ActiveX控件初

开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http://blog.csdn.net/caoyouxing/article/details/42418591 主题 开源 安卓开发 http://www.tuicool.com/articles/jyA3MrU Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自

史上最全的开发和设计资源大全

史上最全的开发和设计资源大全2016-08-09 技术最前线链接:blog.jobbole.com/104313GitHub 上的 Awesome 系列(资源大全系列),是一个汇总了优秀工具资源的大集合,并由 GitHub 社区用户持续维护和更新.初始的版本都是英文,伯乐在线组织整理了热门资源大全的中文版.目前,中文版的资源列表在 GitHub 总计已经有超过 10,000 star 和 数千 fork .以下是各个开发和设计资源的详细介绍. Java 资源大全 Java资源大全中文版,包括:构

史上最全PHP正则表达式实例汇总

收集了一份php正则表达式的实例教程,真心不错,记录下. 正则表达式用于字符串处理.表单验证等场合,实用高效. 一些常用的表达式: $str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/", '\1<span class="link">\2</span>\3', $str); 其中用了三个子模式(每个圆括号中内容为一个子模式),第一个是链接开始标签,第二个是链接文本,第三个是</a

史上最全最完整的IOS 游戏开发 PDF电子书定制下载

<iOS 5游戏开发>作者:(新西兰)James·Sugrue著 页数:191 出版社:北京市:人民邮电出版社 出版日期:2012.08 简介:<iOS5游戏开发>是一本iOS5游戏开发的基础入门书.全书使用通俗易懂的简单实例,带领读者经历构建经典动作游戏的整个周期.读者在本书的阅读过程中,将经历从开发概念.规划设计一直到编写实际代码的全过过程.本书的每一章,都将演示游戏创建过程中的一个逻辑步骤,读者将在其中学习如何创建Sprite,用触摸屏.重力感应器和屏幕游戏棒控制玩家角色等-

React Native常用第三方组件汇总--史上最全 之一

把我认为最好的知识,拿来与他人分享,是这一生快事之一! React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown 倒计时 react-native-device-info 设备信息 react-native-fileupload 文件上传 react-native-icons 图标 react-native-image-picker 图片选择器 reac

史上最全“大数据”学习资源整理

史上最全"大数据"学习资源整理 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明.新服务和新的发展机遇. 为了帮助大家更好深入了解大数据,云栖社区组织翻译了GitHub Aweso