1. 全局配置
在首次使用Git之前,需要配置用户信息,这些信息会在每次提交时使用:
bash
# 配置用户名
git config --global user.name "你的用户名"
# 配置邮箱
git config --global user.email "你的邮箱@example.com"
# 查看配置信息
git config --list
注意: 这是全局配置,只需要配置一次即可在所有Git仓库中生效。
2. Git核心概念
2.1 三个重要区域
- 工作区(Working Directory):包含.git文件夹的目录,用于存放项目代码的地方
- 暂存区(Staging Area):位于.git文件夹中的index文件,临时保存即将提交的文件修改
- 版本库(Repository) :.git隐藏文件夹,存储项目的完整历史记录和配置信息
2.2 文件状态
Git中的文件有以下几种状态:
- Untracked:未跟踪,新创建的文件
- Modified:已修改,文件内容发生变化
- Staged:已暂存,文件已添加到暂存区
- Committed:已提交,文件已保存到版本库
3. 基本操作命令
3.1 查看状态和日志
bash
# 查看文件状态
git status
# 查看详细提交日志
git log
# 查看简洁的提交记录
git reflog
3.2 文件操作
bash
# 添加单个文件到暂存区
git add 文件名
# 添加所有文件到暂存区
git add .
# 提交暂存区文件到版本库
git commit -m "提交说明"
# 取消暂存区文件
git reset 文件名
# 回退到指定版本
git reset --hard 版本号
3.3 分支操作
bash
# 查看分支
git branch
# 创建分支
git branch 分支名
# 切换分支
git checkout 分支名
# 创建并切换分支
git checkout -b 分支名
# 合并分支
git merge 分支名
4. 忽略文件
4.1 .gitignore文件
在项目根目录创建.gitignore
文件,用于指定不需要版本控制的文件和目录:
gitignore
# 忽略编译文件
*.class
*.jar
# 忽略临时文件
*.tmp
*.log
# 忽略目录
target/
node_modules/
# 忽略IDE配置
.idea/
.vscode/
4.2 常见忽略模式
*.txt
:忽略所有.txt文件!important.txt
:不忽略important.txt文件temp/
:忽略temp目录/build
:只忽略根目录下的build文件
5. 远程仓库操作

5.1 基本远程操作
bash
# 克隆远程仓库
git clone https://github.com/username/repository.git
# 关联远程仓库
git remote add origin https://github.com/username/repository.git
# 查看远程仓库信息
git remote -v
# 移除远程仓库关联
git remote remove origin
5.2 同步操作
bash
# 推送到远程仓库
git push origin main
# 从远程仓库拉取
git pull origin main
# 获取远程仓库更新(不自动合并)
git fetch origin
6. 实用技巧
6.1 撤销操作
bash
# 撤销工作区修改
git checkout -- 文件名
# 撤销上一次提交
git reset HEAD~1
# 修改最近一次提交信息
git commit --amend -m "新的提交信息"
6.2 查看差异
bash
# 查看工作区和暂存区差异
git diff
# 查看暂存区和版本库差异
git diff --cached
# 查看两个版本间差异
git diff 版本号1 版本号2
7. 最佳实践
- 提交频率:经常提交,保持每次提交的改动相对较小
- 提交信息:写清晰、有意义的提交信息
- 分支使用:为不同功能创建不同分支,避免直接在主分支开发
- 代码审查:使用Pull Request进行代码审查
- 备份:定期推送到远程仓库进行备份
8. 常见问题解决
8.1 合并冲突
当多人修改同一文件时可能出现冲突:
bash
# 查看冲突文件
git status
# 手动解决冲突后
git add 冲突文件
git commit -m "解决冲突"
8.2 误操作恢复
bash
# 恢复删除的文件
git checkout HEAD -- 文件名
# 查找丢失的提交
git reflog
git checkout 提交哈希值