目录

1、版本控制

1.1、本地版本控制

1.2、集中版本控制 – -SVN

1.3、分布式版本控制 – -Git

2、核心知识

3、基础文件命令

4、基础配置

4.1、查看配置 :git config -l

4.2、系统配置:git config –system –list

4.3、本地配置:git config –global –list

4、项目搭建

4.1、本地仓库搭建

5、基本操作命令

5.1、基本步骤实现

5.2、提交日志的相关命令

5.3、回退版本

5.4、添加文件至忽略列表

5.5、忽略文件的常见格式

5.6、删除一次提交

5.7、误删后如何恢复

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

在团队开发中git是必不可少的,它是目前为止最流行的版本控制工具

1、版本控制
版本控制:是在开发过程中用于管理我们对文件、目录、工程等内容的修改历史,方便查看历史更改纪录,备份以便以前的版本。

实现跨区域多人协同开发

追踪和记载一个或多个文件的历史记录

保护源代码和文档

统计工作量

并行开发,提高效率

追踪记录整个软件的开发过程

1.1、本地版本控制
记录文件的每次更新,可以对每个版本做一次备份,适合个人

1.2、集中版本控制 – -SVN
所有版本数据都保存在服务器上,协同者从服务器上同步更新或上传自己的修改

需要联网才可以看到

集中式版本控制系统,都有一个统一的版本号,放在一个统一的服务器上,工作时把最新的版本的代码拉取到电脑上,代码完成后在把写完的代码推送到服务器上,由于所有的操作都需要服务器的支持,对网络要求比较大,而且如果服务器里的数据出了问题,那么所有的数据都会丢失,本机客户端仅保存当前版本的信息。

1.3、分布式版本控制 – -Git
分布式版本控制系统,每个人的电脑都相当于服务器,当你拉取仓库的代码后,你的电脑就是一个完整的版本库,工作时不需要联网,所有版本都在自己的本机里,当你想把自己的代码提交到主仓库时,只需要在联网时合并推送到主仓库就可以了。

2、核心知识
git在本地分为三个区域,分别为工作区、缓存区和资源区(本地),其实还有一个远程的一个仓库区,但不在本地就不做过多解释

 

 

工作区:平时放项目代码的地方,包括git已经管理的文件区域和新增以及修改的文件区域

缓存区:用于临时存放改动的代码,它本质上是一个文件,把工作区的部分或者全部已经确认需要保存的文件提交至暂存区,先保存一下,如果确认好了可以直接提交到本地仓库中,如果暂时不能做决定可以暂时先放到暂存区,等待下一步操作。

资源区:又称作版本库或仓库区,将某一个历史节点的保存文件列表当做是一个版本,这里面有你提交到所有版本的数据,其中的HEAD指针默认指向最新放入仓库的版本

仓库区:远程的仓库,托管代码的服务器,可以是Gitee、GitHub

git的工作流程:

在工具区中增加或修改文件

将新的版本代码添加到缓存区 git add .

将缓存取得文件提交到远程仓库 git commit

 

 

3、基础文件命令
Git Bash :命令和Linux相似

cd :改变目录

cd . . :回退上一级目录

pwd :显示当前所在目录路径

ls\ll :列出当前目录中的所有文件

touch : 新建一个文件

rm :删除一个文件

mkdir :新建一个文件夹

rm -r :删除一个文件夹

mv :移动文件

reset :清屏、初始化

clear :清屏

history :查看历史命令

exit :与i出

4、基础配置
设置用户名和密码:

git config –global user.name “moon” // 设置全局用户名
git config –global user.email “2597213671@qq.com” // 设置邮箱
这里的 –global 为全局配置,如果要在特定的的项目中使用不同的名称,那就不使用该参数,只为当前所在仓库配置。

Git相关的配置文件:

全局配置文件:C:\Users\你的用户名\.gitconfig

系统配置文件:你的安装目录\Git\etc\gitconfig

4.1、查看配置 :git config -l

4.2、系统配置:git config –system –list
查看系统配置

 

4.3、本地配置:git config –global –list
查看当前用户配置

 

4、项目搭建
4.1、本地仓库搭建
两种方式:

创建一个新仓库

你需要新建一个存放版本库的目录,然后进入到该目录所在路径,然后执行:

如果在目录中看到包含有.git的隐藏目录,那就证明创建成功

# 在当前目录新建一个Git代码库
git init
克隆远程仓库

# 克隆一个项目和它的所有版本信息
git clone [url] # https://gitee.com/xuande-hk/xuande-hk.git
5、基本操作命令
用git命令控制git工作目录下文件状态的转换

1、git add (工作区 – -> 暂存区)

2、git commit (暂存区 – -> 本地仓库)

 

 

Clone:克隆,就是将远程仓库复制到本地仓库 Push:推送,就是将本地仓库代码上传到远程仓库 Pull:拉取,就是将远程仓库代码下载到本地仓库,并将代码 克隆到本地工作区

5.1、基本步骤实现
1、创建——touch ttt.txt

2、查看状态——git status

3、将文件所有的修改添加到暂存区——git add 文件名|通配符.

3、提交文件到仓库——git commit -m “注释内容”

4、查看文件提交日志——git log

5、文件修改后的提交——git commit -m “update ttt”

1)创建文件,查看状态

 

目前文件位于本地仓库下

2)文件添加到暂存区

 

3)暂存区提交到本地仓库

 

4)查看文件提交日志

 

5)文件修改后重新提交

 

5.2、提交日志的相关命令
命令形式:git log [option]

option:

–all:显示所有分支

–pretty=oneline:将信息提交为一行

–abbrev-commit:使得输出的更简短

–graph:以图的形式显示

1)git log命令

提交次数过多的话,信息太过钻乱

2)git log –pretty=oneline命令

设置行数为一行

 

3)git log –pretty=oneline –abbrev-commit命令

优化

 

git log –pretty=oneline –abbrev-commit –all

5.3、回退版本
版本切换命令:git reset –hard [commitID]

 

将命令输入后,版本会回退到文件创建状态,修改的内容就没了

 

查看已经删除的提交记录

git reflog

 

5.4、添加文件至忽略列表
1)创建一个.gitignore文件

 

2)输入内容*.a

表示后缀名为.a的文件不需要git管理

 

5.5、忽略文件的常见格式
# 所有以.a 结尾的文件讲被忽略(递归)
*.a
# 不管其他规则怎样,强制不忽略 lib.a
!lib.a
# 只忽略 文件 TODO (注意这里是文件)
/TODO
# 忽略 build文件夹下所有内容(递归) 这里是文件夹
build/
# 忽略 doc 目录下以 *.txt 结尾的文件 (不递归)
doc/*.txt
# 忽略 doc 目录下以 *.pdf 结尾的文件 (递归)
doc/**/*.pdf
5.6、删除一次提交
1)git log找到要删除的提交的上一次提交的id

2)命令:git rebase -i 9a3f2a7e0e5d39ff0e2527b42f6fb10c00b4a758

3)输入i进入编辑模式

将pick改成drop

 

 

5.7、误删后如何恢复
查看日志找到提交id

回退:git reset –hard 08428f6
————————————————
版权声明:本文为CSDN博主「仰望-星空~~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_65935065/article/details/130714385