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 构建流程、工具等辅助修改
Enjoy Reading This Article?
Here are some more articles you might like to read next: