GitHub和Git的使用
一、Git
1.Git概念
一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型地项目。
-
集中化版本控制系统:这类系统都有一个单一的集中管理的服务器,保存所有文件的修订版本。而协同工作的人们都通过客户端连接到这台服务器,获取最新的文件或者提交更新。储存版本之间地差异。如:SVN
-
分布式版本控制系统:客户端不仅仅是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。储存当前版本和以前版本地所有索引。如:Git
2.Git简史
林纳斯·本纳第克特·托瓦兹创立
林纳斯·本纳第克特·托瓦兹_百度百科 (baidu.com)
3.Git安装
https://www.bilibili.com/video/BV1Zz4y1C7vg?from=search&seid=15784007729827817772
一个B站的视频,讲的很详细,适合和我一样的小白看。
4.Git的本地结构
工作区 ---git add---> 暂存区 ---git commit---> 本地库
5.代码托管平台
1)代码托管中心的任务:帮我们维护远程库。
2)代码托管中心种类:局域网环境下(搭建GitLab服务器作为代码托管中心,需要自己搭建)、外网坏境下(GitHub或Gitee不需要自己搭建)
3)本地库和远程库的交互方式
①团队内部协作:

pull和clone的区别:
clone是本地没有repository时,将远程repository整个下载过来。
pull是本地有repository时,将远程repository里新的commit数据(如有的话)下载过来,并且与本地代码merge。相当于fetch(抓取操作,将远程库的内容下载到本地,没有更新工作区数据)和merge(合并)操作。
②跨团队协作:

6.具体操作命令(与Linux命令一样)
| 命令 | 功能 |
|---|---|
| git --version | 查看Git版本 |
| clear | 清屏 |
| git config --global user.name "Jerry_jing" | 设置用户名 |
| git config --global user.email "123456789@qq.com" | 设置邮箱 |
| git init | 本地仓库初始化 |
| git add | 将文件提交到暂存区 |
| git commit -m"注释" “文件名” | 将暂存区的内容提交到本地库 |
| git status | 查看工作区和暂存区状态 |
| git log(分页效果,空格下一页、B上一页) | 查看从近到远的提交日志 |
| git log --pretty=oneline | 展示日志,每个版本一行 |
| git log --online | 展示日志,更加简洁 |
| git reflog | 展示日志,多了HEAD@ |
| git reset --hard <索引数> | 前进或后退历史版本,本地库的指针移动的同时,重置暂存区,重置工作区。 |
| 先rm <文件名>,再git add,再git commit | 删除工作区文件,同步到暂存区,同步到本地库 |
| git diff <文件名> | 比对工作区和暂存区文件的差异 |
| git diff | 比对工作区和暂存区所有文件的差异 |
| git diff<历史版本><文件名> | 比对暂存区和工作区文件的差异 |
git log:当历史记录过多时,有分页效果。空格下一页、B上一页。

二、重要概念
1.分支
在版本控制中,使用多条线同时推进多个任务。这里所说的多条线,就是多个分支。
一般新的独立的功能开辟一个新的分支。
2.操作分支
| 命令 | 功能 |
|---|---|
| git branch -v | 查看分支 |
| git branch <新分支名> | 创建分支 |
| git checkout <分支名> | 切换分支 |
| 先切换到master分支,后git merge<分支名> | 将某个分支合并到master分支中 |
三、GitHub
1.步骤
注册GitHub ---> 创建远程仓库 ---> 将本地库的文件推送到远程库
2.操作
| 命令 | 功能 |
|---|---|
| git remote -v | 查看别名 |
| git remote add <别名> <仓库地址> | 在本地创建远程库地址的别名,方便访问 |
| git push <仓库地址> --delete <分支名称> | 删除远程分支 |
| git clone <远程库地址> | 克隆操作 |
fork、pull request操作直接在GitHub中点击即可。

浙公网安备 33010602011771号