git的详细操作

01Git介绍

目标

掌握git的基本定义和

Git是什么

  • Git版本控制系统一个分布式的系统,用来保存工程源代码历史状态(游戏存档)的命令行工具
  • Git是一个命令行(小黑窗)工具,用于版本控制(存档器)

Git的作用是什么?

    • 版本管理工具:说人话就是可以记录你敲代码的每一个环节(类似于玩游戏存档)

Git应用场景介绍

  1. 多人开发代码管理

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

  1. 异地开发代码管理

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

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

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

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

  • git:目前使用最多的版本管理工具
  • svn:也有公司在用,用法与git类似(相当于腾讯视频和优酷视频)

小结

1. git是什么?

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

02Git安装流程

目标

掌握安装流程

下载

地址:Git - Downloads

安装

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

检测是否安装成功

如果在电脑任意文件夹中点击右键,能够出现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 config --list --global

查看所有的全局配置

git config --list --global

查看指定的全局配置项

git config user.name

git config user.email

04使用git的基本工作过程

目标

掌握git的基本工作流程

9个常见操作

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

  • 1.新建项目文件夹(只做一次)
  • 2.进入文件夹 (重要)
  • 3.初始化仓库:git init(只做一次)
  • 4.编码
  • 5.添加文件信息: git add .
  • 6.确认添加信息:git commit -m"描述信息"
  • 7.查看详细日志信息:git log
  • 8.查看简略日志信息:git log --oneline
  • 9.版本回滚:git reset --hard 版本号

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

1.新建文件夹

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

2.启动进入git命令

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

打开git命令行工具

(小蓝窗)

3. 初始化项目

在小蓝窗输入 git init

注意:

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

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

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

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

5. 添加存档

命令:

git add .

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

6. 确认存档

命令 git commit -m "说明"

图示

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

小结

git add .

git commit -m "操作内容"

05git的三个区

目标

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

三个区

  • 工作区: 处理工作的区域
  • 暂存区: 临时存放的区域
  • 本地git仓库: 最终的存放区域

对比理解

生活

文件夹

  • 工作区: 在你电脑里看到的目录
  • 暂存区: 在.git文件夹内的index中 (二进制记录)
  • 版本库: 指的整个.git文件夹 (也认为是本地仓库)

在代码中的体现

三个区与git命令

06查看提交信息

目标

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

查看提交记录

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

  • git log
  • git log --oneline
  • git reflog:这个命令可以查看你所有的提交的记录

07查看文件状态

目标

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

内容

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

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

命令

# 查看仓库文件的状态
git status

# 查看简略版信息
git status -s

改动文件之后:

新添加文件:

  • 未跟踪(新增的文件)
  • 已修改(文件曾经被Git记录过了,然后在工作区对他进行了修改)
  • 已暂存(新增的文件,添加到暂存区之后的状态)
  • 已提交(nothing to commit)
    • 表示没有什么东西可以提交了;即所有的内容都已经提交给git仓库了。
    • 有的文档也把这个状态叫做 未修改,意思是自上次提交过后,代码还没有修改过

练习

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

08代码恢复

目标

掌握代码恢复的方法

从工作区恢复

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

git status

git restore 文件名

从暂存区恢复

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

git reset HEAD 文件名

git checkout -- 文件名

整体回滚

回滚之后

git reset --hard 提交流水号

会导致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, 符合规则的都忽略掉了

小结

  1. 如何设置git忽略文件?
  • 在.git文件夹隔壁建立一个.gitignore文件, 写入相关语法配置即可忽略此仓库文件夹下符合规则的文件夹/文件

09远端仓库介绍

目标

什么是远端仓库

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

  • 本地git存储:一旦你电脑丢了或者硬盘损坏,直接扑街
  • 远程git存储:如果你电脑坏了换了一个新的,只需要从网上重新下载即可

常见的远程仓库有哪些?

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

    • 学习时候可以用,工作中有的小公司为了省钱也会用

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

(3)gitlab:

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

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

远程仓库的作用

多人协作

远程仓库的使用流程

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

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

给成员添加权限

成员

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

小结

10远程仓库使用示例

目标

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

1.在码云网站

建立仓库

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

 git clone 仓库网址

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

    • 这个命名相当于拉取所有的代码(将整个远程仓库文件夹copy到你的本地)
    • 这个命令一般只会在项目开始的时候执行一次

它会在本地创建目录。

3.本地编写代码

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

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

git push

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

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

  • 这个命令不会拉取所有代码,只是拉取远程上面新增的代码(把别人写的代码合并到你的本地)
  • 这个命令,在多人开发的时候建议每天上班前执行一次

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

目标

掌握多人开发的基本流程

内容

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

整体图示

git pull 的常见错误

1. 在pull之前要记得commit

  1. 合并冲突

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

冲突:合并失败。

例如:

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

处理:

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

  1. git pull
  2. git push

12远程仓库SSH配置

目标

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

两种访问方式

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

  • HTTPS:零配置;但是每次访问仓库时,需要重复输入的账号和密码才能访问成功(现在不需要了)
  • SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入账号和密码。公司中也实际开发推荐使用SSH方式访问远程仓库

SSH 介绍

加密通讯协议

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

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

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

  • id_rsa(私钥文件,存放于客户端的电脑中即可)
  • id_rsa.pub(公钥文件,需要配置到远端服务器 中)

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 文件,复制里面的文本内容

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

工作过程

小结

11分支介绍

问题导入

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

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

图示:

理解分支

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

  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

图示:

3.切换分支

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

功能:切换分支

示例:git checkout v2

图示:

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

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

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

// 改代码

git add .

git commit -m "提交3"

// 改代码

git add .

git commit -m "提交4"

5.合并分支

格式: git merge 分支名

注意:merge之前,必须commit

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

6.删除分支

格式:git branch -d 分支名

示例:git branch -d v2

注意:

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

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下雨的周末

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值