git 基础知识
GIT 知识
软件版本控制
作用:软件源码版本管理、多人协作开发、版本多分支开发、代码回滚(回退)等功能。
- 集中式版本控制:将代码仓库存放到一台服务器上,开发式要依赖这台服务器。
- 优点:简单、方便管理、适合中小型项目;
- 缺点:一旦服务器宕机,会严重影响开发;
- SVN、CVS
- 分布式版本控制:
- 每个开发者的本地都有完整的版本库副本
- 无需联网即可提交、查看历史
- 拥有更强的分支管理能力
- 例如:Git、Mercurial、Bazaar
- 优势:容错性高,协作灵活,支持离线工作
远程仓库
- 公网仓库:gitee \ githup (开源、私有)
- 私有(局域网)仓库:gitea \ gitlab
- 本地仓库:git客户端创建或者clone(克隆)

命令
GIT全局设置
git config --global user.name "无一"
git config --global user.email "2415790542@qq.com"
创建git仓库
#创建一个目录
mkdir lwy1
cd lwy1
#初始化仓库 ,自带一个.git目录,记录配置与每次提交的内容
git init
touch README.md
#将一个文件添加到缓存区
git add README.md
#将所有文件的修改,添加到暂存区
git add .
#将缓存区的内容提交到本地仓库
#-m "这里面是注释信息"
git commit -m "first commit"
git remote add origin https://gitee.com/lwy97/lwy1.git
#同步本地仓库到远程仓库
git push
#第一次同步,需要远程仓库地址(gitee上创建仓库时,自动生成远程仓库地址)
#类型仓库:https方式
git remote add origin https://gitee.com/lwy97/lwy1.git
#类型仓库:ssh提交方式
git remote add origin git@gitee.com:lwy97/lwy1.git
#选择提交分支
# 选择分支
git push -u origin "master"
#仓库提交类型 https/ssh
克隆仓库
#克隆仓库
#拉取最新版本
- git add 将需要提交的修改添加到暂存区
# 添加单个文件(如 README.md)
git add README.md
# 添加当前目录所有修改(新增、修改、删除的文件,推荐日常用)
git add .
# 添加指定目录(如 docs/ 下的所有文件)
git add docs/
- git commit 将暂存区的内容提交到本地仓库
# 提交并添加说明(必须写!说明本次改了什么,方便自己和他人查看)
git commit -m "feat: 新增用户登录功能" # 格式建议:类型: 描述(如 fix/bugfix: 修复登录bug)
# 若提交后发现漏加文件或想修改说明,用 --amend 补充(覆盖上一次提交,不新增记录)
git add 漏加的文件
git commit --amend # 会打开编辑器,可修改提交说明
- git push 将本地仓库的修改推送到远程仓库
# 首次推送分支(如 master)到远程,建立跟踪关系(后续可简化命令)
git push -u origin master # -u 表示关联本地分支和远程分支
# 非首次推送(已关联跟踪关系),直接推送当前分支
git push
- git pull 从远程仓库同步到工作区
# 拉取远程 master 分支并合并到本地当前分支(已关联跟踪关系时)
git pull
# 未关联跟踪关系时,指定远程和分支(如拉取 origin 的 master 到本地当前分支)
git pull origin master
- 克隆仓库到本地
# 克隆仓库(HTTPS 方式,需输入 Gitee 账号密码;SSH 方式需提前配置密钥)
git clone https://gitee.com/用户名/仓库名.git
# 进入仓库目录
cd 仓库名
给gitee添加ssh公钥
#1.生成新的 SSH 密钥
#若没有密钥或需要新密钥,运行以下命令:
ssh-keygen -t ed25519 -C "你的邮箱地址"
#(如果系统不支持 ed25519 算法,可使用ssh-keygen -t rsa -b 4096 -C "你的邮箱地址")
#执行后会出现几个提示:
#密钥保存路径:直接按回车使用默认路径
#密钥密码:可设置密码(回车表示无密码)
#确认密码:再次输入密码或回车
#2.生成密钥后,查看公钥内容:
cat ~/.ssh/id_ed25519.pub
#3.添加公钥到 Gitee
登录 Gitee 账号
点击右上角头像,选择 "设置"
在左侧菜单中找到 "SSH 公钥"
点击 "添加公钥"
在 "标题" 栏填写一个便于识别的名称(如 "我的笔记本")
在 "公钥内容" 栏粘贴刚才复制的公钥
点击 "确定",可能需要输入 Gitee 密码确认
#4.测试连通性
ssh -T git@gitee.com
多人协作开发
# 仓库 里面的管理
多分支管理
| 命令 | 说明 |
|---|---|
| git branch | 查看本地所有分支(* 标记当前分支) |
git branch -r |
查看远程所有分支 |
git branch -a |
查看本地+远程所有分支 |
| git branch <分支名> | 创建新分支(基于当前分支) |
| git checkout <分支名> | 切换到指定分支 |
git checkout -b <分支名> |
创建并立即切换到新分支 |
| git merge <分支名> | 将指定分支合并到当前分支 |
git branch -d <分支名> |
删除已合并的本地分支 |
git branch -D <分支名> |
强制删除未合并的本地分支 |
git push origin --delete <分支名> |
删除远程分支 |
撤销操作:回滚(后悔药)
#查看提交记录
git log
#回滚到某次提交的内容
git reset --soft 哈希值: 软回滚:保留暂存区和工作区数据,用于下次提交
git reset --hard 哈希值: 硬回滚:清除暂存区和工作区数据,版本回退
git reset --mixed 哈希值: 混合回滚:清空暂存区,保留工作区
标签管理
用于标记重要版本(如发布版本 v1.0.0),方便后续回溯。
| 命令 | 说明 |
|---|---|
git tag |
查看所有本地标签 |
git tag -a <标签名> -m "标签说明" |
创建带注释的标签(推荐) |
git tag <标签名> |
创建轻量标签(仅存哈希,无注释) |
git push origin <标签名> |
推送指定标签到远程 |
git push origin --tags |
推送所有本地标签到远程 |
git tag -d <标签名> |
删除本地标签 |
git push origin --delete <标签名> |
删除远程标签 |
浙公网安备 33010602011771号