01Git介绍

目标

掌握git的基本定义和

Git是什么

Git的作用是什么?

Git应用场景介绍

  1. 多人开发代码管理

目前我们多人代码的时候,想把代码合并一起是利用最原始的复制粘贴操作。有了git之后,可以一键搞

  1. 异地开发代码管理

实际开发中,我们上班可能会用公司电脑敲代码。有时候回到家里用自己电脑偷偷加个班,以前的做法是备一个U盘,复制粘贴。有了git之后,直接一键搞定。

  1. 版本管理
    比如我现在公司网站已经做出来了1.0版本在使用,现在计划增加一些新功能,但是这个功能不稳定需要经过开发和测试环节,为了不影响现有的稳定版本。以前的做法是把稳定版本单独拷贝一份增加功能,等做好之后再把以前版本给替换掉。有了git之后可以一键搞定。
  2. 版本回滚
    比如这周产品经理提出一个功能,我辛辛苦苦写了一周代码。
    到了下周,产品经理说这个功能不做了,叫我删掉改成其他功能。
    我们把代码删掉之后按照产品经理要求又辛辛苦苦写了一周代码。到了下下周,产品经理说这个功能还是没有上次那个好,还是改成上周的吧…………

    别着急,有了git之后,一键搞定。

版本管理工具还有其他的么?

小结

1. git是什么?

程序员必备的代码版本管理软件

02Git安装流程

目标

掌握安装流程

下载

地址:Git - Downloads

git的详细操作

安装

全程默认点击即可,不用修改其他选项 (建议:不要安装在C盘之外的位置)

检测是否安装成功

如果在电脑任意文件夹中点击右键,能够出现Git命令选项,则说明安装成功

git的详细操作

mac系统

1.首先使用自带的终端,输入 :  git --version  ,  然后回车如果看到版本号。说明已经安装

2.如果没有看到版本号,可以在终端输入: brew install git  , 然后回车等待安装。 安装成功之后重复步骤1,检查是否安装成功

03配置用户信息

目标

掌握配置用户信息的方式

为啥要配置

安装完git这个软件之后,要做的第一件事情就是设置自己的 用户名邮件地址 ,这样我们就可以知道哪些人提交了什么代码。

配置用户信息命令

git config --global user.email "你的码云账号邮箱"

git config --global user.name "你的码云用户名(可以随便写)"

注意:

  1. 通过 git config --global user.name 和 git config --global user.email 配置的用户名和邮箱地址,会被写入到 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。
  2. 上面的邮箱和用户名可以不是真实的,也可以后面自行修改

git的详细操作

查看所有的全局配置

git config --list --global

查看所有的全局配置

git config --list --global

查看指定的全局配置项

git config user.name

git config user.email

04使用git的基本工作过程

目标

掌握git的基本工作流程

9个常见操作

程序员比较高频的操作有9个。具体如下。

第123步一个项目只需要一次,456步频繁使用,789步偶尔会用

1.新建文件夹

git的详细操作

如果是老项目(已经存在的项目),这步可以省略了。

2.启动进入git命令

进入这个文件夹, 点击右键选择Git Bash Here

git的详细操作

打开git命令行工具

git的详细操作

git的详细操作

(小蓝窗)

3. 初始化项目

在小蓝窗输入 git init

注意:

git的详细操作

  1. 如果是老项目,这一步就省略了。
  2. .git目录可能是隐藏的,需要设置为可见才能看到

4. 编码(程序员的日常工作)

在这个目录下正常做开发:创建文件,修改文件内容....

例如: 添加 index.txt,并写入一些内容(任意内容均可)

5. 添加存档

命令:

git add .

注意:这个命令只是将文件信息添加到暂存区,还没有真正存档,需要使用git commit命令确认存档才可以

6. 确认存档

命令 git commit -m "说明"

git的详细操作

图示

以上流程是实际开发中主要使用流程

git的详细操作

小结

git add .

git commit -m "操作内容"

05git的三个区

目标

理解git三个区的作用,掌握git add commit的用法

三个区

对比理解

生活

git的详细操作

文件夹

在代码中的体现

git的详细操作

三个区与git命令

git的详细操作

06查看提交信息

目标

掌握常见的查看提交信息的命令

查看提交记录

如下两个命令用来查看提交记录

git的详细操作

git的详细操作

git的详细操作

07查看文件状态

目标

掌握查看文件状态的命令,能理解文件的4种状态

内容

没有被托管的文件: 未跟踪

已被托管(曾经add,commit过)的文件:已修改,已暂存,已提交

命令

# 查看仓库文件的状态
git status
# 查看简略版信息
git status -s

git的详细操作

改动文件之后:

git的详细操作

git的详细操作

git的详细操作

新添加文件:

git的详细操作

练习

自己操作文件,能看到4种状态。

08代码恢复

目标

掌握代码恢复的方法

从工作区恢复

改动了代码,想放弃修改(此时并没有add)

git的详细操作

git status

git restore 文件名

从暂存区恢复

改动了代码,也add了,此时想放弃。

git reset HEAD 文件名

git checkout -- 文件名

整体回滚

git的详细操作

回滚之后

git的详细操作

git reset --hard 提交流水号

git的详细操作

会导致log信息不全。改用 git reflog

08文件_git忽略文件

目标

了解git忽略文件的作用和配置

讲解

  1. 有的时候, 我们某些文件/文件夹, 不想让git进行跟踪管理
  2. 这种场景下, 我们需要在.git文件夹隔壁, 来个叫做 .gitignore (固定名字)的忽略文件, 并写入忽略规则
  3. 可以编写如下这些规则
# 井号表示注释
# 忽略某个指定文件
password.txt
# 忽略文件夹
css
# 忽略文件夹下的某个文件
css/index.js
# 忽略文件夹下某类文件
css/*.js
  1. 然后根目录新建password.txt, 查看 git追踪到了哪些变化
git status
  1. 发现只新增了.gitignore, 符合规则的都忽略掉了

    git的详细操作

小结

  1. 如何设置git忽略文件?

09远端仓库介绍

目标

什么是远端仓库

远端(远程)仓库其实就是远程的git服务器,帮我们存储代码的服务器。

常见的远程仓库有哪些?

(1)github:免费。国外服务器,访问不稳定 。"全球最大的同性交友网站"

(2)码云:免费。国内服务器。

(3)gitlab:

(4)私服:公司自己机房的服务器(工作中遇到)

以上远程仓库使用流程几乎一致。

远程仓库的作用

多人协作

远程仓库的使用流程

leader(仓库的创建者,有最高的权限)

登录远程仓库,建立空项目;

给成员添加权限

成员

  1. 登录远程仓库
  2. 把代码拉到本地
  3. 本地编辑,保存,提交代码
  4. 同步到远程

小结

10远程仓库使用示例

目标

以码云为例,掌握远程仓库的使用

1.在码云网站

建立仓库

git的详细操作

git的详细操作

2.将远程仓库克隆到本地

 git clone 仓库网址

git的详细操作

git clone:克隆,将整个远程仓库克隆到本地

它会在本地创建目录。

git的详细操作

3.本地编写代码

git add . 与git commit -m“添加文件信息“

4.将本地代码推送到远程

git的详细操作

git push

5.将远程代码拉取到本地

git的详细操作

git pull :拉取,用于多人开发。比如别人写的代码文件提交到远程仓库,通过这个命令就可以将远程仓库代码拉取到本地

11远端仓库多人开发配置流程

目标

掌握多人开发的基本流程

内容

  1. leader(仓库的创建者)邀请其他开发者小花
  2. 小花成为开发者
  3. 小花clone 代码
  4. 小花正常开发项目
    1. git add .
    2. git commit -m ""
  1. 小花提交代码
    1. git push

git的详细操作

整体图示

git的详细操作

git pull 的常见错误

1. 在pull之前要记得commit

git的详细操作

  1. 合并冲突

git的详细操作

合并:把两个版本的代码合在一起。

冲突:合并失败。

例如:

  1. A同学改了a.txt的第一行,提交到了远程;
  2. B同学本地仓库也改了a.txt的第一行,并commit
  3. B同学git pull(从远程拉下来) 出现错误:两个人改了同一地方。

git的详细操作

处理:

  1. 手动解决问题。看看使用什么代码
  2. add commit

git的详细操作

  1. git pull
  2. git push

12远程仓库SSH配置

目标

掌握远端仓库的SSH配置方式

git的详细操作

两种访问方式

远程仓库有两种访问方式,分别是HTTPSSSH

SSH 介绍

加密通讯协议

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

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

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

SSH配置流程

  1. 打开 Git Bash
  2. 输入命令:ssh-keygen -t rsa -C '邮箱'
    1. 这里的邮箱要与 全局配置 (git config --global user.email) 以及 码云上的登记邮箱一致
    2. 连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
  1. 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容

    git的详细操作

  2. 在你的远程仓库网址, 点击头像 -> 设置 -> SSH 公钥 -> 粘贴

git的详细操作

工作过程

git的详细操作

小结

11分支介绍

问题导入

比如你的网站第一个版本已经做好发布了,功能也很稳定。现在准备新增一些功能开发2.0版本,问题是:如何去写代码?

如果在1.0的版本的基础上继续开发,那如何确保1.0的代码稳定呢? 程序员的做法:切分支。

图示:

git的详细操作

理解分支

分支的本质是:一个指向某个版本的链接。

  1. 分支的作用是什么?
  1. 分支内功能开发完毕后, 需要最后一步做什么?

分支的应用场景

  1. 开发时按功能模块切分支
    1. 例如:有5个页面,切5个分支
  1. 有bug时切分支开解决bug

git分支相关命令

Git命名

作用

详细描述

git branch

查看当前工作分支

git branch 分支名

新建子分支

新建一个小号存档,把当前存档备份到小号中

git checkout 分支名

切换工作分支

切换当前的账号(换小号刷装备)

git merge分支名

合并分支

把子分支代码合并到主分支(小号刷得装备移到大号上面)

git branch -d 分支名

删除子分支(慎用)

把某一个分支删除

12.分支相关的典型操作

1. 查看分支

命令:git branch

功能:查看所有的分支

说明:项目在初始时,就会有一个默认的分支,名字是:master。表示主分支。

2.新建分支  

命令: git branch 分支名

功能:创建新分支

示例: git branch v2

图示:

git的详细操作

3.切换分支

命令:git checkout 分支名 (创建分支之后,你的代码默认还是在主分支,需要切换工作分支到子分支)

功能:切换分支

示例:git checkout v2

图示:

git的详细操作

注意:切换分支时,要先commit
 

git的详细操作

4.在新的分支上进行编码

提交代码的时候,指针也在移动

// 改代码

git add .

git commit -m "提交3"

// 改代码

git add .

git commit -m "提交4"

git的详细操作

5.合并分支

格式: git merge 分支名

注意:merge之前,必须commit

合并:假设当前在master分支,把v2分支的代码合并过来。合并的目的:是master中的代码和v2的代码是一样。让master上也具有v2的代码。

git的详细操作

6.删除分支

格式:git branch -d 分支名

示例:git branch -d v2

git的详细操作

注意:

  1. 删除分支,也需要切换当前工作分支为其他分支
  2. 删除分支,不会导致代码丢失

发表回复