一、什么是 Github?
Github 是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。
Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。
目前看来,GitHub这场冒险已经胜出。根据来自维基百科关于GitHub的描述,我们可以形象地看出GitHub的增长速度:
今天,GitHub已是:
· 一个拥有143万开发者的社区。其中不乏Linux发明者Torvalds这样的顶级黑客,以及Rails创始人DHH这样的年轻极客。
· 这个星球上最流行的开源托管服务。目前已托管431万Git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:BootStrap、Node.js、CoffeScript等。
· alexa全球排名414的网站。
GitHub和Git的区别,GitHub和Git是完全不同的两个东西,在Git中开发者将代码存入名为Git仓库的资料库中,并加以使用而GitHub则是在网络中提上提供Git仓库的一项服务。就是说GitHub上公开的代码都由Git进行管理。
1)让开发者之间进行远程共同开发软件,这个功能就是Pull Request(拉取请求),是指开发者在本地对源代码进行更改后,向GitHub中托管的Git仓库中
2)用户所有用文字输入的功能都可以用GitHub Flavored Markdown,开始有越来越多的服务兼容Markdown
Github的主要功能:
1)Git仓库
2)Organization(优点是可以统一管理和权限)
3)Issue(是将一个任务或问题分配给Issue进行追踪和管理,即每当进行Pull Request就会创建一个Issue)
4)wiki(任何人都可以随时保存一篇文章进行更改并保存)
5)Pull Request (通过该功能向其他仓库提出申请请求合并,送出后目标仓库的管理者可以查看Pull Request的内容和及其包含的代码更改)
Git的仓库管理是GitHub的核心,Git属于分散型版本的管理系统,是为了版本管理而设计的软件,起因是Linux内核开发中使用的既有版本管理系统的开发方许可证发生了变化。为了更换新的版本管理系统才开发了Git。
版本管理就是管理更新的历史记录,并且版本管理系统分为集中型和分散型。
集中型:将仓库集中存放在服务器上,所以只存在一个仓库,将所有数据集中存放在服务器中,有便于管理的优点,但是一旦开发者所处的环境不能连接服务器,就无法获取最新的源代码,开发也就无法进行。万一服务器故障导致数据消失,开发者就会见不到最新的代码。
分散型:GitHub将仓库Fork给了每一个用户,就是将某一个特定仓库复制到自己的账户下,Fork出的仓库与原仓库是两个不同的仓库开发者可以随意编辑。
双方都有优缺点但是只要规则制定的好分散型也可以向集中型那样进行管理。
二、注册账户以及创建仓库
要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/。
简单注册完成之后会需要验证你所输入的邮箱才能正常使用你的GitHub。
登录GitHub后如图:
点击start a project(开始创建一个库,免费用户只能建公共仓库),如图:
第一个框是自己为自己的库起一个名字,第二个框是自己对库的一个简单介绍
在创建完成自己的库之后,下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到GitHub你所创建的库当中。
为了实现这个,就需要安装一个软件 Git Bash。
三、Github 安装
首先进入GitHub官网https://git-scm.com/downloads ,下载适合自己电脑的版本进行安装,这里以windows版64位为例。
安装比较简单,选择路径即可,这里就不做详细介绍了。
官网的安装方法:
https://git-scm.com/book/zh/v1/起步-安装-Git
安装好后打开软件界面如图:
四、配置Git和简单使用
在对git bash进行配置的时候大多数新手都是一头雾水,下面我对配置的每一步就会有详细的记录。
1.首先要在本地创建一个ssh key ,这个的目的就是你现在需要在你电脑上获得一个密匙,就是咱们平时的验证码一样的东西,获取之后,在你的GitHub账号里边输入之后,你的电脑就和你的GitHub账号联系在一起了,这样以后就可以十分方便的通过Git bash 随时上传你的代码。下边介绍一下如果获得这个钥匙,又是如何输入到你的GitHub里边的呢。
很多人第一次打开这个GitHub的时候一脸懵逼,认为这是什么。对于一个新手来说看到这个是没有任何思路,没有任何想法的。
这一栏 开始是你的计算机的名字在我这里就是Administrator@后边的内容是你的计算机型号,很多时候有的人打开之后@后边是乱码,这个时候也不要在意,因为有些电脑型号是中文的,可能在显示的时候出现了问题,不影响你后期的操作。
2.接下来,就要开始获取属于你自己的密匙。在git bash中所有功能都是通过简单的一些代码来实现的。获取密匙的时候需要输入:
$ ssh-keygen -t rsa -C "your_email@youremail.com"
引号内your_email@youremail.com改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。
如果之后你出现了这个界面之后,就说明你的密匙已经成功创建了,会在~/下生成.ssh文件夹。
进去用记事本打开id_rsa.pub,复制里面的key。
3.回到github上,进入 Settings(账户配置),左边选择SSH and GPG Keys,New SSH Key。
这里的title 是让你给你的密匙起一个名字,根据个人喜好,什么名字都可以,然后把你在刚刚文件中复制的key,填写在下边的大框里。保存即可。
4.回到Git bash,为了验证是否成功,在git bash下输入:
$ ssh -T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
5.接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
输入上边的代码,name最好和GitHub上边的一样,email是一定要是注册GitHub的那个邮箱地址。
下面就要将你的库克隆下来到本地电脑中,方便以后进行上传代码。
在库创建完成之后会有一个网址出现在网页中。
个人习惯将自己的文件储存在d盘之中,所以你先需要将git bash定位在d盘中
在git bash中输入 cd /D 注意盘名字一定要是大写。如不输入这个语句 不给git bash定位的话,默认的本地文件位置是在c盘中。
之后输入:
$ git clone https://github.com/acfanezhy/ittxx.git
git clone后边的网址就是你创建库成功之后的网址
之后打开我所定位的D盘。
可以看到,D盘中已经有以我的库名所创建的文件夹了。
打开这个文件夹,然后在其中创建一个任意格式,任意名称的文件,如123.txt。
之后重新定位git bash 的位置,定位在你库的文件夹。
输入ls语句 ls的作用是查看你目前所定位的文件夹中的文件,现在可以看出来,我刚刚所创建的123.txt文件已经出现了。
然后输入:git add 123.txt
之后输入然后:git commit -m "cc" 引号内的内容可以随意改动,这个语句的意思是 给你刚刚上传的文件一个备注,方便查找记忆而已。
输入之后出现以上情况,然后在输入:git push origin master 之后会出现一个登录到GitHub的对话框,输入GitHub的账号和密码登录即可。
出现类似界面,你就可以欢呼了,代表你成功了。
现在打开你的GitHub网站,找到你创建的库
发现今天的格子已经绿了,说明你已经上传了你刚刚所创建的文件。
再之后,你只需要将你的代码,放到库的对应的文件夹中,然后使用git add 、git commit -m "备注" 、最后git push origin master,将你的代码提交就可以了。
五、其他操作
1.配置和修改远程地址
进入要上传的仓库,右键点击选择 git bash here,添加远程地址:
$ git remote add origin git@github.com:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。
2.检出仓库
执行如下命令以创建一个本地仓库的克隆版本:
git clone /path/to/repository
如果是远端服务器上的仓库,你的命令会是这个样子:
git clone username@host:/path/to/repository
3.工作流
你的本地仓库由 git 维护的三棵"树"组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。
你可以提出更改(把它们添加到暂存区),使用如下命令:
git add <filename>
git add *
这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
git commit -m "代码提交信息"
现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。
4.推送改动
你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:
git push origin master
可以把 master 换成你想要推送的任何分支。
如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
git remote add origin <server>
如此你就能够将你的改动推送到所添加的服务器上去了。
5.分支
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是"默认的"分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
创建一个叫做"feature_x"的分支,并切换过去:
git checkout -b feature_x
切换回主分支:
git checkout master
再把新建的分支删掉:
git branch -d feature_x
除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:
git push origin <branch>
6.更新与合并
要更新你的本地仓库至最新改动,执行:
git pull
以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
要合并其他分支到你的当前分支(例如 master),执行:
git merge <branch>
在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:
git add <filename>
在合并改动之前,你可以使用如下命令预览差异:
git diff <source_branch> <target_branch>
7.标签
为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID:
git log
你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。
8.替换本地改动
假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
git checkout -- <filename>
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master
9.实用小贴士
内建的图形化 git:
gitk
彩色的 git 输出:
git config color.ui true
显示历史记录时,每个提交的信息只显示一行:
git config format.pretty oneline
交互式添加文件到暂存区:
add -i
链接与资源
1.图形化客户端
2.指南和手册
3.相关文章
Github+Git使用详解:https://ittxx.cn/view/164
Github 简明指南:http://rogerdudler.github.io/git-guide/index.zh.html
如何高效利用GitHub:http://www.yangzhiping.com/tech/github.html
github入门到上传本地项目:https://www.cnblogs.com/specter45/p/github.html
原文地址:https://blog.csdn.net/Hanani_Jia/article/details/77950594
转载请注明: ITTXX.CN--分享互联网 » Github+Git简明教程-最简单的入门教程
最后更新:2019-01-22 12:10:14