【Git】入门教程—持续更新

更新说明

更新时间更新内容
22.10.081. 安装方法
2. 常用命令
3. 本地操作
4. 分支含义及操作

1. Git安装

2. Git常用命令

命令名称作用
git config --global user.name “your.name”设置用户签名
git config --global user.email “your.email”设置用户邮箱
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “提交信息简写”提交到本地库
git reflog查看历史记录
git reset --hard 版本号回退到历史版本
git config --list查看git个人信息

3. Git本地练习教程

3.1 Git初始化操作

  1. 建立一个Git本地仓库,创建一个文件夹并初始化该文件夹,使用Git Bash在该文件夹下打开
# 首先设置用户名及邮箱
git config --global user.name 你的账号名
# 示例:git config --global user.name Leo

git config --global user.email 你的邮箱
# 示例:git config --global user.email xxx@gmail.com

# 使用命令初始化这个文件夹
git init

# 查看该目录下是否创建.git文件
ls -a

# 查看当前git状态
git status

git status命令

On branch master # 当前在master分支
No commits yet # 暂未提交过任何东西
nothing to commit # 暂无需要提交的东西

3.2 创建文件 & 上传仓库

3.2.1 创建文件

  1. 创建一个txt文件,并重新查看本地仓库状态
    创建txt文件

  2. 使用git status命令重新查看本地库状态,可以看到出现了一个.txt文件,提示我们将该文件使用git add 命令进行添加
    git status命令

3.2.2 上传暂存区

  1. 将文件上传到暂存区
git add test.txt	# 将该文件添加到暂存区

git add .	# 将所有未添加到暂存区的文件添加到暂存区
  1. 使用git status重新查看本地库状态,可以看到test.txt文件已经传到暂存区
    添加到暂存区

3.2.3 撤销上传暂存区

  1. 如果上传到暂存区的文件不想要提交,可以使用命令进行撤回操作
git rm --cached test.txt
  1. 重新使用git status查看状态
    git status操作

3.2.4 提交操作

  1. 将暂存区的文件提交到本地库
git commit -m "first commit"	
# -m是提交信息简写

git commit
# 会直接进入到vim界面进行编写提交信息

git commit

// master主干分支有一个first commit的提交操作
// 7df0a74 这个就是版本号
// 默认生成一个7位字符码——版本号
[master (root-commit) 7df0a74] first commit

// 一个文件被改变,10行文本(因为插入了十行文本)被插入
1 file changed, 10 insertions(+)
create mode 100644 test.txt

3.3 查看 & 操作历史版本

3.3.1 查看操作

  1. 查看历史信息
git reflog

git log	# 详细日志命令

git reflog命令

  • git reflog简略日志信息
  • git log详细日志信息,一长串字符串为完整版本号,reflog下的7位字符串为完整版本号的前七位字符

3.3.2 修改 & 提交操作

  1. 修改文件操作并重新提交
    修改操作git status
git add test.txt    # 添加到暂存区
git commit -m "second commit"    # 第二次提交

git reflog    # 查看日志

commit操作
reflog操作
2. 自行尝试提交第三次修改操作并上传
reflog操作

3.3.3 回退历史版本操作

  1. 回退历史版本操作
git reflog    # 查看全部版本信息

git reset --hard 版本号    # 这里回退到第二个版本

cat test.txt    # 查看信息是否回退到第二个版本

回退操作
2. 自行尝试回退历史版本到第一个版本
在这里插入图片描述

4. Git分支

请添加图片描述

  1. 一般开发环境是在dev环境中进行开发,没有问题后才会部署到master
  2. 好比一个用户在使用的就是正式环境的服务器[master],开发者不能直接在正式环境对代码进行修改,所以需要一个分支,俗称dev环境。当新版本的程序开发完成后,才会通过测试、运维等等,确认无误才会部署到正式服务器。对服务器版本进行迭代更新。

4.1 什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开,开发自己分支的时候,不会影响主线分支的运行。分支可以简单的理解为副本,一个分支就是一个单独的副本。(分支的底层其实也是指针的引用)
分支流程图

  • 如图所示:
    • master主分支(正式环境使用)
    • 当想在master分支的程序上添加一个查询功能,就可以创建一个feature-blue分支,然后进行功能添加,确认没问题后就推送到master分支上,也就是V1.1版本
    • 当发现V1.1版本有bug的时候,可以创建一个hot-fix分支(俗称热修复),重新测试无误后进行推送,将master主线分支升级为V1.2版本
    • master分支在V1.0版本的时候,也可以同步创建一个feature-game分支,进行游戏模块开发,中间迭代多个版本,最终测试没问题后,可以推送上到主分支上,升级为V2.0版本。

4.2 分支的优点

  1. 同时并行推进多个功能开发,提高开发效率
  2. 各个分支在开发的过程中,如果遇到某一个分支开发失败,不会对其他分支有任何影响。

4.3 分支的操作

4.3.1 常用命令

分支名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定分支合并当当前分支上

4.3.2 查看分支

  1. 使用查看命令查看当前所在分支
git branch -v

branch操作

4.3.3 创建新分支

  1. 使用创建命令创建一个修复分支(hot-fix)
git branch hot-fix

branch操作

  • 可以看到已经创建了一个hot-fix分支,但当前还是在master分支上

4.3.4 切换分支

  1. 切换分支
git checkout hot-fix

在这里插入图片描述

  • 可以看到已经到了hot-fix分支上

4.3.5 修改分支

  1. 修改hot-fix该分支下test.txt内容,对test.txt文件进行修改操作,并重新提交
git add test.txt
git commit -m "hot-fix first commit"

在这里插入图片描述

4.3.6 合并分支

4.3.6.1 正常合并分支操作
  1. 分支合并,需要先切换回主分支,并在主分支下进行分支合并操作。
  • 切换为master分支,然后将分支进行合并操作(正常合并分支)
git checkout master    # 将分支转回master

git merge hot-fix    # 在master的基础上,将hot-fix分支的内容合并到master上

在这里插入图片描述

4.3.6.2 冲突合并分支操作
  • 冲突产生的原因(冲突合并):
    • 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。就必须人为决定新代码的内容。
  • 上一步合并后,master分支和hot-fix分支内的文件已经相同,所以我们需要人为进行一下matser分支和hot-fix分支的修改操作。
# 在master分支上对test.txt文件进行修改
vim test.txt
# 在第一行加上master test

# 将master分支进行提交
git add test.txt
git commit -m "master test"

修改操作

  • 在hot-fix分支也进行同位置的修改操作
# 将分支切换到hot-fix下
git checkout hot-fix
# 修改test.txt文件,并在同一个位置添加hot-fix test
vim test.txt

# 将文件提交
git add test.txt
git commit -m "hot-fix test"

在这里插入图片描述

  • 切换为master分支并尝试合并分支
git checkout master

# 合并分支,会提示错误
git merge hot-fix
# 会提示你在test.txt文件中有合并冲突的情况

# 输入查询命令 会看到提示有一个文件未合并成功
git status

在这里插入图片描述

  • 需要手动进入文件进行修改操作
    在这里插入图片描述
  • 去除掉多余的信息,剩下的为需要合并的信息,然后进行保存提交操作
    在这里插入图片描述
git add test.txt
git commit -m "merge test"
git reflog    # 查看版本信息,可以发现合并成功

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值