Git 学习笔记
Git
Git 简介与基础概念
- 分布式版本控制系统:由Linus Torvalds开发,用于高效管理项目版本。
- 与SVN区别:
- 分布式架构(无需中央服务器)
- 元数据存储方式
- 轻量级分支模型
- 无全局版本号
- SHA-1哈希保证数据完整性
安装与配置
多平台安装
- Linux:
apt/yum install git - Windows:下载Git for Windows或使用winget
- Mac:Homebrew或图形安装包
- 验证安装:
git --version
基础配置
git config --global user.name "YourName"
git config --global user.email "email@example.com"
git config --global core.editor "code --wait" # 设置默认编辑器
核心工作流程
仓库操作
- 初始化:
git init - 克隆仓库:
git clone <url> - 文件状态管理:
git add <file> # 添加到暂存区 git commit -m "msg" # 提交到版本库 git status # 查看状态 git diff # 查看差异
分支管理
| 命令 | 功能 |
|---|---|
git branch <name> |
创建分支 |
git checkout <branch> |
切换分支 |
git merge <branch> |
合并分支 |
git branch -d <branch> |
删除分支 |
- 冲突解决:手动编辑冲突文件 →
git add→git commit
版本控制进阶
标签管理
git tag v1.0 # 创建轻量标签
git tag -a v1.1 -m "描述" # 附注标签
git push origin --tags # 推送所有标签
git tag -d v1.0 # 删除标签
历史查看
git log --oneline --graph # 简洁图形化日志
git blame <file> # 查看文件修改历史
远程协作
GitHub集成
-
SSH密钥配置:
ssh-keygen -t rsa -C "email@example.com" cat ~/.ssh/id_rsa.pub → 添加到GitHub -
远程仓库操作:
git remote add origin <url> # 添加远程仓库 git push -u origin main # 首次推送 git pull origin main # 获取更新
高级操作
代码暂存与恢复
git stash # 暂存当前修改
git stash pop # 恢复最近暂存内容
版本回退
git reset --soft HEAD~1 # 撤销提交保留修改
git reset --hard HEAD~3 # 彻底回退到前3个版本
git revert <commit> # 创建逆向提交
代码重组
git rebase -i HEAD~3 # 交互式变基
git cherry-pick <commit> # 选择性应用提交
服务器搭建
基础Git服务
-
创建裸仓库:
git init --bare project.git chown -R git:git project.git -
客户端克隆:
git clone user@server:/path/project.git
GitLab部署(Ubuntu示例)
sudo EXTERNAL_URL="http://your-domain" apt-get install gitlab-ee
# 通过Web界面完成初始化配置
图形化工具
- Sourcetree:可视化分支管理/提交历史
- GitKraken:跨平台客户端支持高级Git操作
- VS Code集成:内置Git功能支持基础操作
好习惯:
- 频繁提交小改动
- 使用特性分支开发新功能
- 提交信息采用"动词+对象"格式(如:"Fix user login validation")
- 定期执行
git gc优化仓库- 重要版本通过标签标记


浙公网安备 33010602011771号