【Git笔记】安装、基本命令、分支切换、合并分支代码

一、Git概述

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。
它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于 Subversion、CVS、Perforce 和ClearCase 等版本控制工具。

工作机制在这里插入图片描述

二、Git安装

  1. 官网下载地址:https://git-scm.com/download
  2. 腾讯软件中心:https://pc.qq.com/detail/13/detail_22693.html

下载之后傻瓜式安装

三、Git常见指令

  • 右键任意位置,在右键菜单里选择Git Bash Here即可打开Git Bash命令行终端。
  • 在 Git Bash 终端里输入 git --version查看 git 版本,出现版本就说明 Git 安装成功。

常见Git命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看历史记录
git reset --head 版本号版本穿梭
git pull抓取远程仓库所有代码到本地
git pushpush所有分支
git merge ‘branch’将branch分支合并到当前分支

3.1 设置用户签名

git config --global user.name 用户名
git config --global user.email 邮箱

说明

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看 到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。

※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。

3.2 查看用户签名是否成功

git config --global -l

3.3 初始化本地库

git init

初始化完成之后会出现一个.git文件

3.4 查看本地库状态

git status

会看到哪些没有提交到暂存区。
在这里插入图片描述

3.5 版本穿梭

git reset --head 版本号

Git 切换版本,底层其实是移动的 HEAD 指针,具体原理如下图所示。
在这里插入图片描述

四、Git分支操作

在这里插入图片描述

4.1 什么是分支

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

4.2 分支的好处

同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

4.3 分支的命令

见常见指令

4.4 分支切换

git checkout 分支名

4.5 合并分支

git merge 分支名

例:

在 master 分支上合并 dev 分支
$ git merge dev

4.6 冲突与解决

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替
我们决定使用哪一个。必须人为决定新代码内容。冲突后面状态为MERGING

解决

①编辑有冲突的文件,删除特殊符号,决定要使用的内容
②添加到暂存区
③执行提交(注意:此时使用 git commit 命令时不能带文件名)
④发现后面 MERGING 消失,变为正常

4.7 创建和切换分支图解

在这里插入图片描述

master、dev 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。
HEAD 如果指向 master,那么我们现在就在 master 分支上。 HEAD 如果执行 dev,那么我们现在就在dev 分支上。

4.8 合并部分提交

使用Cherry-pick功能进行部分不同分支部分合并。
Cherry-pick 可以选择某一个分支中的一个或几个commit(s)来进行操作

以IDEA为例

demo分支中有两次提交记录,两次记录对应两个功能模块。

在这里插入图片描述
问题:现在只需要demo分支的第一次提交的代码合并到master上。
操作路程如下:
先切换到master分支上,选择demo分支第一次提交,右键选择Cherry-Pick。然后push即可。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值