git git教学

git

一、git介绍

1、版本控制软件作用?

➢负责管理文件版本

2、版本控制软件好处?

操作简便:只需识记几组简单的终端命令,即可快速上手常见的版本控制软件

易于对比:基于版本控制软件提供的功能,能够方便地比较文件的变化细节,从而查找出导致问题的原因

易于回溯:可以将选定的文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态

不易丢失:在版本控制软件中,被用户误删除的文件,可以轻松的恢复回来

协作方便:基于版本控制软件提供的分支功能,可以轻松实现多人协作开发时的代码合并操作

3、版本控制系统分为几类?
  • 本地版本控制系统

➢单机运行,使维护文件版本的操作工具化

  • 集中化的版本控制系统

➢联网运行,支持多人协作开发;性能差、用户体验不好

  • 分布式版本控制系统

➢联网运行,支持多人协作开发;性能优秀、用户体验好

4、了解三大类版本控制系统的特点?

5、什么是git ?

➢Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。

➢特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!

6、Git 的记录快照

➢Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。

➢缺点:占用磁盘空间较大

➢优点: 版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。

➢特点: 空间换时间

7、资源的请求方式?

➢使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库

8、Git 中的三种状态

已修改、已暂存、已提交

➢工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。

➢如果文件已修改并放入暂存区,就属于已暂存状态。

➢如果 Git 仓库中保存着特定版本的文件,就属于已提交状态。

9、工作区中文件的 4 种状态

二、git配置指令

1、配置用户信息

➢git config --global user.name "xxx"

➢git config --global user.email "xxx@xxx.cn"

➢如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效。

2、检查配置信息

➢查看所有的全局配置项

git config --list --global

➢查看指定的全局配置项

git config user.name

git config user.email

3、获取帮助信息

➢打开git config 命令的帮助手册

git help config

➢获取git config 命令的快速参考

git config -h

4、在现有目录中初始化仓库

命令语法::git init

➢git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分

5、检查文件的状态

命令语法: git status

➢使用 git status 命令查看文件处于什么状态

命令语法:git status -s / git status --short

➢以精简的方式显示文件状态

➢两条完全等价的命令,其中 -s 是 --short 的简写形式

6、跟踪新文件//提交暂存区命令

命令语法: git add 文件名

➢可以用它开始跟踪新文件

➢把已跟踪的、且已修改的文件放到暂存区

➢把有冲突的文件标记为已解决状态

➢修改过的、没有放入暂存区的文件前面有红色的 M 标记。

命令语法:git add .

➢一次性将所有的新增和修改过的文件加入暂存区:

7、提交更新//提交到仓库命令

命令语法: git commit -m “日志信息”

➢其中 -m 选项后面是本次的提交消息,用来对提交的内容做进一步的描述、

➢可以将暂存区中记录的快照,提交到 Git 仓库中进行保存

8、撤销对文件的修改

命令语法:git checkout -- 文件名

➢撤销对文件的修改,把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本

➢操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!

➢撤销操作的本质:用 Git 仓库中保存的文件,覆盖工作区中指定的文件

9、取消暂存的文件

命令语法:git reset HEAD 要移出文件的名称

➢撤销指定的未提交的修改内容,例如:撤销暂存区的文件

10、跳过使用暂存区域

命令语法:git commit -a -m “日志”

➢Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤:git commit -a -m “日志”

11、移除文件

我们可以创建一个名为 .gitignore 的配置文件

➢以 # 开头的是注释、以 / 结尾的是目录、以 / 开头防止递归、以 ! 开头表示取反

➢星号 * 匹配零个或多个任意字符

➢ [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)

➢问号 ? 只匹配一个任意字符

➢两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)

12、查看提交历史

命令语法:git log

13、回退到指定的版本

二、开源项目托管平台

1、源项目托管平台主要有以下 3 个:

➢Github(全球最牛的开源项目托管平台,没有之一)

➢ Gitlab(对代码私有性支持较好,因此企业用户较多)

➢Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)

2、远程仓库的两种访问方式

HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功

SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码

注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库。

3、基于 HTTPS 将本地仓库上传到 Github

命令语法:

git remote add origin 远程仓库地址

git push origin master

第二次提交代码只需要命令行运行 git push

4、SSH key

SH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。

SSH key 的好处:免登录身份认证、数据加密传输。

SSH key 由两部分组成,分别是:

➢ id_rsa(私钥文件,存放于客户端的电脑中即可)

➢ id_rsa.pub(公钥文件,需要配置到 Github 中)

配置SSH key步骤:

➢打开 Git Bash

➢粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:

➢ssh-keygen -t rsa -b 4096 -C "注册 Github 账号时填写的邮箱"

➢连续敲击 3 次回车,即可在 C:\Users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件

➢使用记事本打开 id_rsa.pub 文件,复制里面的文本内容

➢在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key

➢将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中

➢在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来

检测SSH key 是否配置成功

输入命令 ssh -T git@托管平台.com

例如ssh -T git@github.com

5、基于 SSH 将本地仓库上传到 Github

6、将远程仓库克隆到本地

git clone 远程仓库的地址

7、分支

➢在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做master 的分支。通常我们把这个master 分支叫做主分支。

➢在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。

➢因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。

8、功能分支

➢功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试,完毕后,最终需要合并到 master 主分支上。

(1)查看分支列表 git branch
(2)创建新分支 git branch 分支名
(3)切换分支 git checkout 分支名称
(4)分支的快速创建和切换 git checkout -b 分支名称
(5)合并分支 git merge 分支名

➢假设要把 C 分支的代码合并到 A 分支,

➢则必须先切换到 A 分支上,再运行 git

➢erge 命令,来合并 C 分支!

(6)删除分支 git branch -d 分支名称
(7)遇到冲突时的分支合并

➢如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。 此时,我们需要打开这些包含冲突的文件然后手动解决冲突。

9、远程分支操作
(1)将本地分支推送到远程仓库

➢如果是第一次将本地分支推送到远程仓库,需要运行如下的命令:

➢注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。

(2)查看远程仓库中所有的分支列表

git remote show 远程仓库名称

(3)跟踪分支

➢跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中

git checkout 远程分支名称

➢如果你想自己命名本地分支名称

git checkout -b 本地分支名称 远程仓库名称/远程分支名称

(4)拉取远程分支的最新的代码

git pull

(5)删除远程分支

git push 远程仓库名称 --delete 远程分支名称

  • 41
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值