Git的安装与使用

Git的安装与使用

Git是一个免费开源的分布式版本控制系统,系统设计的目的是快速和高效地处理从小型到大型项目的所有内容

下载

官方下载网址:https://git-scm.com/downloads
阿里云镜像站下载网址:https://registry.npmmirror.com/binary.html?path=git-for-windows/

Standalone Installer :安装版本
Portable("thumbdrive edition") :便携版本(免安装版本)
这里选择下载的是 64位普通安装版本
官网下载文件比较慢,建议使用阿里云镜像站下载文件

安装

执行安装包,选择合适的路径,其他选项按照默认配置即可

右键选择Open Git Bash here或者进入安装路径执行git-bash.exe 进入Git命令行,输入下面命令可以查询Git版本号

git --version

能正常显示版本号则说明安装成功

配置

1.跳过SSL证书验证

在github上使用https克隆(Clone)代码时会出现以下报错
fatal: unable to access 'https://github.com/spring-projects/spring-framework.git/': SSL certificate problem: unable to get local issuer certificate

大意是"SSL证书问题:无法获得本地颁发者证书",当通过HTTPS访问Git远程仓库时,如果服务器上的SSL证书未经过第三方机构认证,git就会报错(没有签署过的证书存在风险)。
可以配置跳过SSL证书验证来正常克隆代码
在git命令行中执行以下命令:

git config --global http.sslverify false

执行后可以在C:\Users\用户xx路径下的.gitconfig配置文件看到新增的配置参数
[http]
	sslverify = false

2.设置用户签名

当使用git提交代码时会出现以下报错
Author identity unknown

大意是"作者身份不明",需要设置用户签名,此用户签名与其他账号没有关系,仅作为本地提交代码的一个标识
在git命令行执行以下命令:

git config  --global user.name test
git config  --global user.email test@qq.com

执行后可以在C:\Users\用户xx路径下的.gitconfig配置文件看到新增的配置参数
[user]
	name = test
	email = test@qq.com

Git的工作流程

Clone(克隆):从远程仓库克隆代码到本地仓库
Fetch(抓取):从远程仓库抓取代码到本地仓库,不进行合并
Checkout(检出):从本地仓库检出一个分支到工作区
Pull(拉取):从远程仓库抓取到本地仓库(Fetch),自动进行合并(Merge),然后检出当前分支到工作区(Checkout)
Add(添加):在工作区改动的代码提交到暂存区
Commit(提交):提交到本地仓库,本地仓库中保存修改的各个历史版本
Push(推送): 将本地仓库中改动的代码推送到远程仓库

Git常用命令

git init
在当前路径下初始化git仓库,生成.git文件夹

git status
查看git状态

git add
将改动代码由工作区添加到暂存区
eg:
添加所有改动文件 git add -all | git add .
添加当前目录下的所有改动的java文件 git add *.java

git commit -m "提交说明"
将改动的代码由暂存区提交到本地仓库

git log
查看提交日志

git reset --hard 版本号
将代码回退到某个指定的版本

git branch
查看所有分支

git checkout 文件名
将文件尚未添加到暂存区的修改全部撤销

git checkout 分支名称
切换分支

git checkout -b 分支名称
创建并切换分支

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

git merge 分支名称
将其他分支合并到当前分支
eg:
在master分支执行,将dev分支合并到master
git merge dev

git clone
将远程仓库代码克隆到本地仓库

git push
将本地仓库改动代码提交到远程仓库

git pull
将远程代码更新到本地

Git约定式提交

约定式提交规范是一种基于提交信息的轻量级约定。它提供了一组简单规则来创建清晰的提交历史;这更有利于编写自动化工具。通过在提交信息中描述功能、修复和破坏性变更,使这种惯例与 SemVer 相互对应。

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]


type: 必选,提交的类型
scope: 可选,提交的影响范围
subject: 必选,提交的简短描述
body: 可选,消息体
footer: 可选,页脚

type(提交的类型):
feat: 新增一个功能
fix: 修复了一个BUG
docs: 只涉及到文档的变更
style: 不影响代码语义(格式化)
refactor: 代码重构,既不修复错误也不添加功能
perf: 改进性能的代码改动
test: 添加测试用例
build: 影响构建系统或外部依赖关系的变更
ci: 更改持续集成文件或脚本
chore: 其他,不修改src或test文件
revert: 回退提交

scope(提交的影响范围): 
可以按照模块、包进行划分

subject(提交的简短描述):
首字母小写,不以句号结尾

body(消息体):
用于介绍修改的原因以及详细内容

footer(页脚):
可以用于添加问题单号,修改时间之类的,作为提交信息的结尾

.gitignore

git管理中必备的文件,一般放在仓库的根目录下,用于忽略一些不需要被提交的文件

.gitignore的语法
# 注释内容
/ 文件夹分隔符
* 通配符,表示一个或多个字符
? 通配符,表示一个字符
!取反

eg:

# 忽略后缀为iml的文件
*.iml

# 忽略idea文件夹
.idea/

# 忽略当前目录下的target
target/

# 忽略多级目录下的target
**/target/

# 仅忽略根目录下build文件夹,而不忽略src/main内部的build文件夹
build/
!**/src/main/**/build/

参考网址

git官方文档: https://git-scm.com/doc
约定式提交官网: https://www.conventionalcommits.org/zh-hans/v1.0.0/

posted @ 2023-10-10 18:51  柯南。道尔  阅读(139)  评论(0编辑  收藏  举报