一、git简介

git是一款免费、开源的版本控制系统,用于高效地处理任何或大或小的项目。

作用:

文件存档备份

文件版本管理

多人协同合作(自动合并)

二、git的三个区域

工作区:处理工作的区域

暂存区:临时存放的区域

本地git仓库:最终的存放区域

1.在文件夹📁的体现

工作区:在你的电脑💻看到的目录

暂存区:在.git文件夹📁内的index中,以二进制记录📝

版本库:整个.git文件夹📁,也认为是本地仓库

2.在代码中的体现

三、配置全局的用户名和邮箱📮

配置全局的用户名和邮箱的作用:在以后的提交中,可以查看本次提交的记录是谁提交的。

git config 固定命令:设置git相关配置

--global 全局配置:一次配置,整机在使用git时都生效

git config --global user.name 你的用户名
git config --global user.email 你的邮箱地址

配置后,查看是否配置成功

git config --list

举例:

以后想要修改,可以重新执行一次配置命令覆盖即可

四、git基础命令

1.在本地新建一个文件夹📁

2.在新建的文件夹📁,运行以下命令,得到一个.git文件夹,即可让git开始准备管理

# 初始化git 仓库,产物:.git文件夹
git init

.git是个隐藏文件夹

举例:

3.一次性把所有改变的文件放入暂存区

本地创建一些文件

举例:

# 这里.的意思是:当前目录下所有改变都暂存
git add .

举例:

4.把暂存区的内容提交到版本库

git commit -m "提交的内容的说明"

相当于存档了一次,在版本库中产生一次提交记录(并生成版本号)

本次存档,不耽误我们在工作区继续编写项目。

举例:

五、git查看日志和状态

  1. 查看所有提交日志

git log

举例:

2.当日志越来越多,也可以简化查看日志

git log --oneline

举例:

3.查看所有分支的所有操作记录

git reflog

举例:

4.如果改的代码过多,忘记改了哪些代码,可以查看状态

git status

举例:

六、git版本回退

只有确实commit存档过,而且存到的.git文件夹📁要存在,才可以回退!

git reset --hard 版本号

举例:

先查版本号:

再回退:

七、git忽略文件

1.作用:某些文件或文件夹不想让git进行跟踪管理,也就是不想提交到版本库。

2.怎么新建git忽略文件:在.git文件夹同级目录下,新建.gitignore文件,并写入忽略规则。

3.可以编写的规则:

# 忽略某个指定文件
password.txt

# 忽略文件夹
css

# 忽略文件夹下的某个文件
css/a.css

# 忽略文件夹下的某类文件
css/*.css

4. 查看git追踪到了哪些变化:git status

被忽略的文件/文件夹不会被git追踪到,会被忽略掉

5. git常用忽略配置

八、分支

1.分支介绍

(1)创建不同分支的作用

不同的分支代表不同的功能,可以独立开发和维护提交版本的记录,每个分支是互相独立的,和别的分支互不影响,尤其是多人👥开发同一项目,可以分别控制自己的代码。

(2)如何编写代码:

1️⃣切换到不同功能的分支去写业务代码。

2️⃣暂存。

3️⃣提交(会在对应的分支下产生提交记录,不会影响到别的分支)。

4️⃣某个功能模块开发完毕后,把子分支的代码合并到master主分支中,保证最后master主分支有所有模块的代码,最后统一交付。(项目开发完毕后,主分支里最后一次提交的记录就是我的完整项目。)

2.分支本质

(1)分支的本质其实就是HEAD指针标记,它可以影响工作区的代码。

(2)每次代码提交,此HEAD指针都会往后移动一次,保证指针的(并且工作区里的)都是最后一次提交。

(3)比如刚才我们第二次提交后,HEAD指针指向这里,也是工作区最后一次提交的版本。

当我们敲击命令 git reset --hard 版本号 时,HEAD指针会移动。

(4)HEAD指针指向哪个版本,当前指向的版本代码就会覆盖到当前的工作区和暂存区。

3.创建分支

(1)创建分支

git branch 分支名

注意:创建分支后,不会自动切换分支

(2)查看当前版本的库的所有分支

git branch

(3)切换分支

git checkout 分支名

注意:第一次创建并切换到此分支,这里你会发现master分支上的所有代码(和当前节点所有提交记录)都被复制了过来,在这个基础上,接着往后开发就行,不是你的页面不能碰!

举例:

4.合并分支

(1)切换到你要合并的目标分支上,这里以master主分支为例子

git checkout master

(2)合并分支

# 把目标分支名下的所有记录,合并到当前分支下
git merge 目标分支名

举例:

九、解决冲突

如果2个人同时改了同一个文件,那么这2个人提交代码时就会产生冲突

举例:(vscode显示效果)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐