Notes · 2025.07.06
Git 使用指南
工作区、暂存、提交。给自己和同学用的短手册。
Git 使用笔记
一、Git 核心概念
1. 仓库结构
- 工作区 (Working Tree):当前操作的文件目录。
- 暂存区 (Staging Area):存放已暂存修改的文件(通过
git add)。 - 版本库 (Repository):存储所有提交的历史版本(通过
git commit)。
2. 版本创建流程
- 工作区修改 → 暂存区
- 使用命令:
git add <文件/目录>,如git add .或git add README.md,将文件添加到暂存区。
- 使用命令:
- 暂存区 → 版本库
- 使用命令:
git commit -m "版本描述",提交暂存区的修改并生成一个新版本。
- 使用命令:
3. 仓库同步操作
- 推送到远程仓库:
git push - 拉取远程仓库更新:
git pull - 克隆远程仓库到本地:
git clone <仓库地址> - 记得末尾的
.git
二、远程仓库操作
1. 配置 SSH 密钥(免密推送)(这个可以之间看Gitee或者Github上有写)
- 生成密钥:
ssh-keygen -t rsa -b 4096 -C "xxx@email.com" - 查看公钥:
cat ~/.ssh/id_rsa.pub - 测试连接:
ssh -T git@gitee.com(如成功提示“Welcome to Gitee.com, YourName!”)
2. 关联远程仓库(推荐先用vscode登录Github账号后再连接就不需要每次推送都输入密钥)
- 查看当前关联的远程地址:
git remote -v - 设置远程地址:
git remote add origin <远程仓库URL> - 修改远程地址:
git remote set-url origin <新URL>
3. 克隆远程仓库到本地
- 使用
git clone命令从远程仓库获取代码:git clone<远程仓库URL> <目标目录>目标目录>远程仓库URL>
4. 推送与拉取
- 第一次推送并设置上游分支:
git push -u origin master - 后续推送:
git push - 拉取远程更新:
git pull
三、常用命令行操作
1. 目录管理
- 创建单级目录:
mkdir myfolder(感觉New-Item更加好用一点) - 递归创建多级目录(Linux/macOS):
mkdir -p a/b/c- 注意:PowerShell 不支持
-p参数,需逐级创建。
- 注意:PowerShell 不支持
- 创建文件:
- PowerShell:
New-Item -Path "filename.txt" -ItemType File - Bash:
echo "" > filename.txt(创建空文件)
- PowerShell:
2. Git 分支操作
- 切换分支:
git checkout <branch-name> - 创建新分支并切换:
git checkout -b <branch-name>
四、关键注意事项
- 权限问题:推送和拉取操作需要有远程仓库的读写权限。对于私有项目,需配置 SSH 或使用账号密码。(见二、2.)
- PowerShell 特性:
-
mkdir不支持-p参数,需要逐级创建目录。 - 使用
echo > filename时,可能会出现“等待输入状态”,直接按回车即可。
-
五、操作流程图解
工作区 → (git add) → 暂存区 → (git commit) → 版本库 → (git push) → 远程仓库
↑ |
└─── (git pull) ───────┘
六、整理建议
- 初次使用 Git 时,优先配置 SSH 密钥。
- 修改文件后,严格按照
add → commit → push流程操作。 - 在 Linux 终端中创建多级目录时可以使用
mkdir -p,更为简便。
**选读*
Git 高阶使用笔记
一、分支管理(Branch)
1. 创建和切换分支
创建并切换到新分支
git checkout -b dev
切换到已有分支
git checkout master
2. 查看分支
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看所有分支(本地 + 远程)
3. 删除分支
git branch -d dev 删除本地分支(已合并)
git branch -D dev 强制删除本地分支
git push origin --delete dev 删除远程分支
4. 分支合并
在 master 分支下合并 dev
git checkout master git merge dev
5. 分支与远程关联
将本地分支与远程同名分支建立关联
git push -u origin dev
二、版本回退与撤销
1. 查看提交记录
git log 查看提交历史
git log --oneline 简洁显示历史记录
git log --graph 可视化分支结构
2. 回退到上一个提交
git reset --hard HEAD^ 回退一个版本
git reset --hard <commit-id> 回退到指定提交
3. 撤销 add
git reset HEAD <file> 把文件从暂存区移出工作区
4. 撤销修改
git checkout -- <file> 放弃工作区的修改
下面的没写完,不想写了
三、标签(Tag)
git tag v1.0 创建标签 git tag -a v1.0 -m “说明” 带注释标签
git push origin v1.0 git push origin –tags # 推送所有标签
git tag -d v1.0 git push origin :refs/tags/v1.0 # 删除远程标签
四、忽略文件配置(.gitignore) .gitignore 文件用于指定 Git 在提交时应忽略的文件和目录。
示例: gitignore 复制 编辑
忽略 node_modules 文件夹
node_modules/
忽略所有 .log 文件
*.log
忽略所有 dist 文件夹
dist/
忽略所有临时文件
*.tmp 五、Git Stash(临时存储)
- 保存当前修改 bash 复制 编辑 git stash # 保存未提交的修改 git stash save “描述” # 带描述地保存
- 查看和恢复 bash 复制 编辑 git stash list # 查看所有 stash git stash apply # 应用最近一次的 stash git stash pop # 应用并删除最近的 stash git stash apply stash@{1} # 应用指定 stash 六、解决冲突 当多个分支合并时若有文件内容冲突:
Git 会标记冲突位置(«««<、=======、»»»>)
手动编辑文件解决冲突
重新添加到暂存区并提交:
bash 复制 编辑 git add <冲突文件> git commit -m "解决合并冲突" 七、Git 常用配置命令 bash 复制 编辑冲突文件>
配置用户名和邮箱(提交作者)
git config –global user.name “Your Name” git config –global user.email “you@example.com”
查看配置信息
git config –list
设置默认编辑器
git config –global core.editor “code –wait” # VSCode
设置默认分支名称(Git 2.28+)
git config –global init.defaultBranch main 八、Git 状态和差异 bash 复制 编辑 git status # 查看当前文件状态 git diff # 比较工作区与暂存区差异 git diff –cached # 比较暂存区与版本库的差异 git diff HEAD # 比较工作区与最新提交的差异 九、Git 清理操作 bash 复制 编辑
清除未追踪文件(慎用)
git clean -f
清除未追踪文件和目录
git clean -fd
清除 .gitignore 中忽略的文件
git clean -fx 十、工作流建议 每个新功能或修复新建分支开发,避免在 master 或 main 上直接开发。
常用分支命名规范:
feature/功能名
bugfix/问题修复
hotfix/紧急修复
release/版本发布
提交信息清晰简洁,如:
makefile 复制 编辑 feat: 新增注册功能 fix: 修复登录页空白问题 refactor: 重构请求逻辑 十一、附录:Git 提交信息规范(Angular 风格) 类型 说明 feat 新功能 fix 修复 bug docs 文档修改 style 格式修改,不影响功能 refactor 重构代码 test 添加测试 chore 构建流程、工具等辅助修改