Git使用教程之本地仓库的基本操作
Git 是一个分布式版本控制系统,广泛用于代码管理和协作开发。本教程聚焦于 Git 本地仓库的基本操作,适合初学者,涵盖初始化仓库、提交代码、管理历史记录等核心功能。以下内容基于 Git 最新版本(截至 2025 年 9 月,Git 2.46.x),使用命令行操作,结合实际示例,简洁且实操性强。所有操作假设你已安装 Git(可从 git-scm.com 下载)。
1. 准备工作
- 安装 Git:
- Windows:下载安装程序,运行后默认配置即可。
- macOS:通过
brew install git
或 Xcode 安装。 - Linux:
sudo apt install git
(Ubuntu)或sudo dnf install git
(Fedora)。 - 验证安装:终端运行
git --version
,应显示版本号(如git version 2.46.0
)。 - 配置用户信息(全局设置,首次使用):
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
- 检查配置:
git config --list
。
2. 本地仓库基本操作
以下是本地仓库的核心操作流程,从创建仓库到管理提交。
2.1 初始化仓库
在项目目录中创建 Git 仓库:
mkdir my-project
cd my-project
git init
- 效果:创建
.git/
目录,初始化一个空的 Git 仓库。 - 验证:运行
git status
,显示当前分支(默认main
或master
)和状态。
2.2 添加文件到暂存区
- 创建文件:
echo "# My Project" > README.md
touch index.html
- 检查状态:
git status
- 输出:显示
README.md
和index.html
为未跟踪(Untracked)。
- 添加文件到暂存区:
git add README.md
git add index.html
- 或添加所有文件:
git add .
- 效果:文件进入暂存区(Staged),准备提交。
2.3 提交更改
将暂存区的文件提交到仓库:
git commit -m "Initial commit"
- -m:指定提交信息,简洁描述更改内容。
- 效果:创建一次提交(commit),记录到
.git
历史。 - 验证:运行
git log
,查看提交历史:
commit abc123... (HEAD -> main)
Author: Your Name <your.email@example.com>
Date: Sat Sep 20 19:38:00 2025 -0700
Initial commit
2.4 修改文件并提交
- 修改文件:
echo "<h1>Hello, Git!</h1>" > index.html
- 检查差异:
git diff
- 显示
index.html
的修改内容。
- 暂存修改:
git add index.html
- 提交修改:
git commit -m "Add greeting to index.html"
2.5 查看提交历史
- 基本查看:
git log
- 显示详细提交记录(哈希、作者、日期、提交信息)。
- 简化输出:
git log --oneline
- 输出:
abc123 Initial commit
(每行显示提交哈希和信息)。 - 图形化查看:
git log --graph --all --oneline
2.6 撤销更改
- 撤销工作区修改(未暂存):
git restore index.html
- 或旧命令:
git checkout -- index.html
(Git 2.23 前)。 - 撤销暂存:
git restore --staged index.html
- 或旧命令:
git reset HEAD index.html
。 - 撤销提交(保留更改):
git reset --soft HEAD^1
HEAD^1
:回退到上一次提交,代码保留在工作区。- 撤销提交并丢弃更改:
git reset --hard HEAD^1
2.7 分支管理
分支是 Git 的强大功能,允许并行开发。
- 创建分支:
git branch feature
- 切换分支:
git checkout feature
- 或合并命令(Git 2.23+):
git switch feature
。 - 创建并切换分支:
git checkout -b feature
- 或:
git switch -c feature
。 - 合并分支:
- 切换到主分支:
bash git checkout main
- 合并 feature 分支:
bash git merge feature
- 如果有冲突,Git 会提示,手动编辑冲突文件后:
bash git add <冲突文件> git commit
- 删除分支:
git branch -d feature
2.8 查看状态
随时检查仓库状态:
git status
- 显示工作区、暂存区和分支状态。
- 示例输出:
On branch main
Changes not staged for commit:
modified: index.html
Untracked files:
newfile.txt
3. 示例:完整工作流
以下是一个实际操作示例,模拟开发流程:
- 初始化仓库:
mkdir my-app
cd my-app
git init
- 添加文件:
echo "Hello, Android!" > app.txt
git add app.txt
git commit -m "Add initial app file"
- 创建分支并修改:
git checkout -b dev
echo "Updated app content" >> app.txt
git add app.txt
git commit -m "Update app content"
- 合并到主分支:
git checkout main
git merge dev
git branch -d dev
- 查看历史:
git log --oneline
- 输出:
xyz789 Update app content abc123 Add initial app file
4. 常见问题与解决方案
问题 | 解决方法 |
---|---|
误删文件或提交 | 恢复文件:git restore <file> 或 git checkout -- <file> ;恢复提交:git reset --soft <commit> 。 |
冲突合并 | 打开冲突文件,手动解决标记(如 <<<<<<< HEAD ),然后 git add 和 git commit 。 |
git status 显示乱码 | 设置编码:git config --global core.quotepath false (支持非 ASCII 字符)。 |
分支切换失败 | 确保工作区干净(提交或暂存更改):git commit 或 git stash 。 |
5. 最佳实践
- 提交信息清晰:写有意义的提交信息,如 “Add login feature” 而非 “Update”。
- 频繁提交:小步提交,便于跟踪和回滚。
- 使用分支:功能开发、修复 Bug 使用单独分支。
- 检查状态:经常运行
git status
和git diff
确认更改。 - 备份:本地仓库定期备份,或推送到远程(如 GitHub)。
6. 进阶提示
- 暂存更改:
git stash
git stash pop
- 临时保存未提交更改,切换分支后恢复。
- 查看具体提交:
git show <commit-hash>
- 忽略文件:创建
.gitignore
文件,排除无关文件(如*.log
、.idea/
)。
7. 总结
Git 本地仓库操作是版本控制的基础,核心命令包括 git init
、git add
、git commit
、git branch
和 git merge
。通过初始化仓库、管理文件、提交更改和使用分支,你可以高效管理代码。熟练掌握这些操作后,可进一步学习远程仓库操作(如 git push
、git pull
)。
如果需要更复杂的示例(如处理冲突、恢复误删提交)或远程仓库教程,请告诉我!