【Github教程】史上最全github用法:github入门到精通

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118878.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2020年读书随笔一篇_2020年教师读书笔记

    2020年读书随笔一篇_2020年教师读书笔记Note:以下markdown格式文本由json2md自动转换生成,可参考JSON转Markdown:我把阅读数据从MongoDB中导出转换为.md了了解具体的转换过程。面纱作者:毛姆[英]ISBN:9787210082835出版社:江西人民出版社出版日期:2016-04-01图书标签:毛姆,小说,英国文学,英国,外国文学豆瓣地址:https://book.douban.com/subject/26757680/阅读日期:2020-01-19读书笔记威廉·萨默塞特·毛姆(

  • vim编辑器永久显示行号(linux查看显示行号)

    介绍了ubuntu环境下vim临时显示行号和永久显示行号的设置方法

  • 原码,反码,补码的深入理解与原理答案_原码反码补码例题详解

    原码,反码,补码的深入理解与原理答案_原码反码补码例题详解本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等于反码加一。接触过计算机或电子信息相关课程的同学,应该都或多或少看过补码这哥仨。每次都是在课本的最前几页,来上这么一段:什么反码是原码除符号位,按位取反。补码等于反码加一。然后给整得莫名其妙,稀里糊涂地,接着就是翻页,反正后面的内容也跟三码没多大关系。我原来也是…

  • 8种HOOK技术[通俗易懂]

    8种HOOK技术[通俗易懂]1.IAT_HOOKIAT是程序中存储导入函数地址的数据结构,如果HOOK了导入函数地址。就可以在函数调用的时候,将函数流程HOOK到我们指定的流程。但是我个人觉得这种方式最好要结合DLL注入的方式,如果单纯的使用HOOK,那么就需要将需要执行的操作的shellcode写入目标进程,如果操作复杂,可能需要的shellcode量特别大,所以我们需要借助DLL注入,这样就将我们需要执行的代码写入…

  • document.body.clientWidth

    document.body.clientWidths="网页可见区域宽:"document.body.clientWidth; s="网页可见区域高:"document.body.clientHeight; s="网页可见区域宽:"document.body.offsetWidth"(包括边线和滚动条的宽)"; s="网页可见区域高:"document.body.offsetHeight"(包括边线的宽)&q

  • 阿里云动态域名_阿里动态域名解析

    阿里云动态域名_阿里动态域名解析前言该脚本的代码大部分是参考自阿里云的官方帮助文档。1,脚本语言使用的是python,我个人只是了解python,没有太深入的知识功底2,脚本代码我会尽量详细地添加注释说明,有问题欢迎留言

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号