Download presentation
Presentation is loading. Please wait.
1
吴宏鹏 源自:http://www.liaoxuefeng.com/
Github 基本教程 吴宏鹏 源自:
2
Git简介 Git是什么? 目前世界上最先进的分布式版本控制系统(没有之一)。 Git有什么特点? 简单来说就是:高端大气上档次!
3
什么是版本控制系统? 如果你用word写一个论文,说不定有这样的经历: 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:
4
过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。
如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便? 这个软件用起来就应该像这个样子:
5
安装Git 在Linux上安装Git : sudo apt-get install git 在Windows上安装Git :
msysgit是Windows版的Git,从 安装完成后,还需要最后一步设置,在命令行输入: $ git config --global user.name "Your Name" $ git config --global user.
6
创建版本库 什么是版本库? 你可以简单理解成一个目录。 这个目录里面的所有文件都可以被Git管理起来。 版本库是Git版本管理的基本单位
首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit
7
创建版本库 第二步,通过git init命令把这个目录变成Git可以管理的仓库:
$ git init (在你需要成为仓库的目录下执行,如:learngit) 这样,一个版本仓库就建好了。
8
把文件添加到版本库 注意 : 要真正使用版本控制系统,就要以纯文本方式编写文件。(不能用word,推荐使用vim , notepad++)
在learngit文件夹下新建一个文件readme.txt 第一步,用命令git add告诉Git,把文件添加到仓库:$ git add readme.txt 第二步,用命令git commit告诉Git,把文件提交到仓库:$ git commit -m "wrote a readme file"
9
把文件添加到版本库 总结: 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步:
第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件; 第二步,使用命令git commit,完成。
10
时光机穿梭 继续修改readme.txt文件 git status命令可以让我们时刻掌握仓库当前的状态,如果修改了会有提示。
如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
11
版本回退 当我们修改了多次文件并且提交到Git版本库之后(即执行了多次git commit) 我们可以用git log命令查看各次改动。
12
版本回退 git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。
13
版本回退 在Git中,用HEAD表示当前版本,上一个版本就是HEAD^ , 上上一个版本就是HEAD^^ 。 $ git log
commit fb26d f8f31179f24e0882e1e0 Author: Michael Liao Date: Tue Aug 20 15:11: append GPL 其中,你看到的一大串类似 e1e0的是commit id(版本号) 在Git中,用HEAD表示当前版本,上一个版本就是HEAD^ , 上上一个版本就是HEAD^^ 。
14
版本回退 现在,我们要把当前版本“append GPL”回退到上一个版本,使用git reset命令:
$ git reset --hard HEAD^ 如果回退的话 , 用git log再看看现在版本库的状态,就会发现最新的没有了。 可以使用git reflog查看命令历史,并且能够显示每一次commit的版本号。 通过版本号可以回到指定版本。 git reset --hard
15
版本回退 在Git中,用HEAD表示当前版本,上一个版本就是HEAD^ $ git log
commit fb26d f8f31179f24e0882e1e0 Author: Michael Liao Date: Tue Aug 20 15:11: append GPL 其中,你看到的一大串类似 e1e0的是commit id(版本号) 在Git中,用HEAD表示当前版本,上一个版本就是HEAD^
16
远程仓库 首先请自行注册GitHub账号 第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -C
17
远程仓库 顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面: 点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容 友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔
18
添加远程库 现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步
首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库: 在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:
19
添加远程库 在本地的learngit仓库下运行命令:
$ git remote add origin 注意,把上面的michaelliao替换成你自己的GitHub账户名 添加后,远程库的名字就是origin 下一步,就可以把本地库的所有内容推送到远程库上: $ git push -u origin master
20
添加远程库 把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样。 从现在起,只要本地作了提交,就可以通过命令:$ git push origin master 把本地master分支的最新修改推送至GitHub
21
小结 要关联一个远程库,使用命令git remote add origin 关联后,使用命令git push -u origin master第一次推送master分支的所有内容; 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
22
从远程库克隆 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。 注意把Git库的地址换成你自己的。
$ git clone $ cd gitskills $ ls 注意把Git库的地址换成你自己的。 Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
23
从远程库克隆 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。 注意把Git库的地址换成你自己的。
$ git clone $ cd gitskills $ ls 注意把Git库的地址换成你自己的。 Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
24
Thank You!
Similar presentations