> 技术文档 > Git 使用笔记

Git 使用笔记


1. 全局配置

在首次使用Git之前,需要配置用户信息,这些信息会在每次提交时使用:

# 配置用户名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隐藏文件夹,存储项目的完整历史记录和配置信息
    Git 使用笔记

2.2 文件状态

Git中的文件有以下几种状态:

  • Untracked:未跟踪,新创建的文件
  • Modified:已修改,文件内容发生变化
  • Staged:已暂存,文件已添加到暂存区
  • Committed:已提交,文件已保存到版本库

3. 基本操作命令

3.1 查看状态和日志

# 查看文件状态git status# 查看详细提交日志git log# 查看简洁的提交记录git reflog

3.2 文件操作

# 添加单个文件到暂存区git add 文件名# 添加所有文件到暂存区git add .# 提交暂存区文件到版本库git commit -m \"提交说明\"# 取消暂存区文件git reset 文件名# 回退到指定版本git reset --hard 版本号

3.3 分支操作

# 查看分支git branch# 创建分支git branch 分支名# 切换分支git checkout 分支名# 创建并切换分支git checkout -b 分支名# 合并分支git merge 分支名

4. 忽略文件

4.1 .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. 远程仓库操作

Git 使用笔记

5.1 基本远程操作

# 克隆远程仓库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 同步操作

# 推送到远程仓库git push origin main# 从远程仓库拉取git pull origin main# 获取远程仓库更新(不自动合并)git fetch origin

6. 实用技巧

6.1 撤销操作

# 撤销工作区修改git checkout -- 文件名# 撤销上一次提交git reset HEAD~1# 修改最近一次提交信息git commit --amend -m \"新的提交信息\"

6.2 查看差异

# 查看工作区和暂存区差异git diff# 查看暂存区和版本库差异git diff --cached# 查看两个版本间差异git diff 版本号1 版本号2

7. 最佳实践

  1. 提交频率:经常提交,保持每次提交的改动相对较小
  2. 提交信息:写清晰、有意义的提交信息
  3. 分支使用:为不同功能创建不同分支,避免直接在主分支开发
  4. 代码审查:使用Pull Request进行代码审查
  5. 备份:定期推送到远程仓库进行备份

8. 常见问题解决

8.1 合并冲突

当多人修改同一文件时可能出现冲突:

# 查看冲突文件git status# 手动解决冲突后git add 冲突文件git commit -m \"解决冲突\"

8.2 误操作恢复

# 恢复删除的文件git checkout HEAD -- 文件名# 查找丢失的提交git refloggit checkout 提交哈希值