Git基础操作
一、安装配置
1.1、安装Git和TortoiseGit
Git是一种分布式版本控制系统,用于跟踪文件的变化,特别是代码文件。它允许多人协作开发,提供分支和合并功能,便于管理不同版本的代码。
TortoiseGit是一个基于Git版本控制系统的图形化用户界面(GUI)工具,主要用于Windows操作系统。它是TortoiseSVN(一个Subversion客户端)系列的延续,提供了一个易于使用的界面,方便用户在Windows中管理Git仓库,而无需通过命令行操作。
TortoiseGit:https://tortoisegit.org/
1.2、commit-msg hook 脚本
commit-msg hook 脚本用于在执行 git commit 命令时自动检查提交信息。通过自定义commit-msg脚本,你可以在每次提交代码时强制执行一些规则,比如格式验证、检查是否包含某些关键字、或者确保提交信息符合项目的命名规范。它可以帮助团队规范化提交信息,提高版本控制的质量和一致性。通过自定义hook脚本,你可以确保所有的提交信息都符合团队约定的格式和标准,避免潜在的错误或不一致。简单来说,就是制定提交规范。
具体实现方法需要修改git安装目录下C:\Program Files\Git\mingw64\share\git-core\templates\hooks文件夹下的commit-msg.sample文件
使用的时候需要把后缀.sample删除,脚本才会在你执行git commit命令时自动执行,如果提交信息不符合要求,它会显示错误信息,并阻止提交。
# commit-msg
# 获取提交信息
COMMIT_MSG=$(cat "$1")
#echo "$COMMIT_MSG"
msg_rule="(feature|fix)"
# 检查提交信息是否包含 feature 或 fix 开头
if ! echo "$COMMIT_MSG" | grep -qE "$msg_rule" ; then
echo "提交信息必须包含 feature 或 fix 开头"
exit 1
fi
# 如果符合要求,允许提交
exit 0
1.3、配置ssh到gitlab上
-
生成密钥信息
-
添加ssh公钥到github的ssh配置上
-
进入第1步”ssh-keygen -t rsa -C “github上注册的邮箱”“命令中key保存的地址,打开id_rsa.pub,将其中的内容全部复制粘贴到github网页中的 个人ssh-key中
-
Tortoise Git的ssh配置为git的ssh, 右击->TortoiseGit->Settings->SSH client中输入git安装目录下的\usr\bin\ssh.exe路径
生成密钥信息步骤
git config --global user.name "github上注册的用户名"
git config --global user.email "github上注册的邮箱"
# 这里会提示输入密码,直接三个Enter就行(可输可不输)
ssh-keygen -t rsa -C "github上注册的邮箱"
二、git工作原理
Git 的工作原理是通过工作区、暂存区和本地仓库的协作来管理文件的版本控制。通过分支和合并的机制,解决在多人协作时版本冲突问题。Git的分布式特性使得每个开发者都可以拥有完整的项目历史,并且支持高效的离线工作。
Remote:远程仓库,即gitlab服务器上的仓库,提供了网页访问
repository:本地仓库,即clone到自己本地的仓库
index:暂存区,修改保存或者新文件添加的暂存区域,add之后,commit之前
workspace:工作区,特定分支上的修改