Git 详细使用教程

1.版本控制系统
本身是一个软件,它能够记录一个或若干个文件的变化
1.1本地版本控制系统
指的是在本地开发,实现版本的手动控制

**缺点:**不能进行多人协作
1.2集中式版本分布系统
有一台中央处理的服务器,用于管理代码,所有的代码都要上传到这个中央服务器上

**优点:**解决了多人协作的问题,所有人通过中央处理器实现代码同步

**缺点:**

	1.特别依赖中央处理服务器

	2.特别依赖网络

集中式版本控制.png

1.3分布式版本控制系统

有一个远程的仓库用于存储代码,每个用户的本地会生成远程仓库的完整镜像,生成本地仓库,每个人通过将代码保存到本地仓库中,本地仓库会在有网络的的时候将数据同步到远程仓库中,远程仓库发生更新,会将数据同步到每个用户的本地仓库中,实现代码同步

优点:

1.解决了多人协作的开发问题

2.不是特别的依赖于远程仓库

3.不是特别的依赖于网络

分布式版本控制系统.png

2.git的使用
2.1git版本控制的三个区
工作区:用户编辑代码的区域,一般指的是编辑器的编辑的区域

暂存区:和仓库区一样,保存在.git的隐藏文件夹内部

仓库区:保存在.git的隐藏文件夹下

文件的保存的流程:工作区--->暂存区--->仓库区

第一次使用需要配置邮箱和用户名,配置命令如下:

	配置邮箱:git config --global user.email "邮箱"

	配置用户名: git config --global user.name

三个区.png

2.2初始化git
命令:git init

作用:会自动生成一个.git的隐藏文件夹

init初始化.png

2.3查看文件状态
命令:git status  

简化命令:git status -s  

作用:查看当前文件的状态,红色表示在工作区,绿色表示在暂存区

status状态1.png

2.4添加到暂存区
命令:git add . / --all /-A 表示将所有内容添加到暂存区

	    git add css 表示将css文件夹添加到暂存区

	    git add *.js 表示将所有js文件添加到暂存区

	    git add ...

作用:将文件或文件夹添加到暂存区

add添加.png

2.5添加到仓库区
命令: git commit -m "说明信息"

快速提交:git commit -a -m "说明信息"

修改最近的一次说明信息: git commit -amend -m “说明信息”

作用:将文件内容从暂存区提交到仓库区

commit添加到仓库区.png

2.6查看保存日志
命令:git log  查看仓库区完整的提交日志

log日志.png
git log --oneline 查看简化版的提交日志
log查看日志.png
git reflog 查看所有的日志信息
reflog查看所有日志信息.png
作用:可查看当前仓库区提交的日志

2.7查看当前用户信息
命令:git config --list

重置当前用户的邮箱和用户名

	重置邮箱:git config --unset --global user.email

	重置用户名:git config --unset --global user.name

config-list查看用户信息.png

2.8比较区的内容
命令:
比较 **工作区** 和 **暂存区**:git diff

diff比较.png
比较 暂存区仓库区:git diff --cached
diff -cached比较.png

比较 **工作区** 和 **仓库区** :git diff HEAD

diff HEAD比较.png
比较仓库区版本的内容:git diff 版本号1 版本号2
如果版本号2的内容多于版本号1的内容,差异部分显示绿色,如果版本号2的内容小于版本号1的内容,差异部分显示红色

版本号比较.png

2.9重置版本

命令:git reset 暂无

重置仓库区:git reset --soft

重置暂存区和仓库区:git reset --minxed

重置版本的工作区、暂存区和仓库区:git reset --hard

将版本回退到上一个版本: git reset --hard head~1

将版本回退到上上个版本:git reset --hard head~2

重置版本.png

2.10分支操作
**为什么要使用分支?**

如果一半的代码不提交可能会丢失,但是提交了可能会影响别人的开发进度,这个时候就需要要分支控制了

分支控制的特点:分支之间是**独立**的,不会相互影响

**分支的目的:**保证功能独立性,一般开发复杂的功能都会先开一个分支,在分支中进行提交,等功能完成后,一次性合并到主分支

**分支的实现原理:**

1.每次commit提交,都会在仓库区生成一个版本号

2.在第一次生成版本后,会自动创建一个master的指针,指向当前的版本

3.所有的分支在本质上就是指针

4.默认就有一个HEAD的指针,永远指向当前的分支

**命令:**

查看所有分支: git branch 当前的分支的颜色是绿色的,而且前面有一个白色的小雪花

查看分支.png

创建分支:git branch 分支名称

创建分支.png

切换分支 : git checkout 分支名称

切换分支.png

删除分支:git branch -d 分支名

删除分支.png

合并分支:git merge 分支名称  如果当前分支是合并分支的祖先分支,可以进行快速合并

合并分支.png

快速创建并切换:git checkout -b 分支名

快速创建并切换.png

合并分支:

1.如果当前分支是合并分支的祖先分支,可进行快速合并

2.如果当前分支不是祖先分支,可能会产生冲突(即同时修改同一文件)
3.合并分支时,如果出现冲突,只能手动处理,再次提交,一般的作法,把自己的代码放到冲突代码的后面即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值