Git全流程操作指南
一、Git 环境配置
1. 安装 Git
Windows:下载 Git for Windows
macOS:
brew install git
Linux:
sudo apt-get update && sudo apt-get install git # Debian/Ubuntu sudo yum install git # CentOS/RedHat
2. 配置用户信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --global core.editor "code --wait" # 设置 VSCode 为默认编辑器
3. 查看配置
git config --list
二、本地仓库操作
1. 初始化仓库
mkdir my-project
cd my-project
git init
2. 文件状态管理
操作 | 命令 | 说明 |
---|---|---|
查看状态 | git status |
显示工作区和暂存区状态 |
添加文件到暂存区 | git add file.txt |
暂存单个文件 |
添加所有修改 | git add . |
暂存所有更改(包括新增文件) |
取消暂存 | git reset HEAD file.txt |
从暂存区移除文件 |
放弃工作区修改 | git checkout -- file.txt |
撤销未暂存的修改 |
3. 提交代码
git commit -m "Add initial project files"
git commit --amend # 修改最后一次提交(未推送时)
4. 查看历史记录
git log # 完整提交历史
git log --oneline # 简洁历史
git log -p # 显示变更内容
git log --graph # 图形化分支历史
三、远程仓库操作
1. 关联远程仓库
git remote add origin https://github.com/username/repo.git
git remote -v # 查看远程仓库
2. 推送代码
git push -u origin main # 首次推送并设置上游分支
git push # 后续推送
3. 拉取代码
git pull origin main # 拉取并合并远程代码
git fetch origin # 仅获取远程更新(不合并)
4. 克隆仓库
git clone https://github.com/username/repo.git
git clone --depth 1 https://github.com/username/repo.git # 浅克隆(仅最新提交)
四、分支管理
1. 分支操作
操作 | 命令 | 说明 |
---|---|---|
查看分支 | git branch |
本地分支列表 |
创建分支 | git branch feature/login |
创建新分支 |
切换分支 | git checkout feature/login |
切换到指定分支 |
创建并切换分支 | git checkout -b feature/login |
一步完成创建+切换 |
删除分支 | git branch -d feature/login |
删除已合并的分支 |
强制删除分支 | git branch -D feature/login |
删除未合并的分支 |
2. 合并与变基
git checkout main
git merge feature/login # 合并分支到当前分支
git rebase main # 将当前分支变基到 main
3. 解决冲突
- 打开冲突文件,标记为
<<<<<<< HEAD
到>>>>>>> branch
的区域 - 手动编辑文件,保留需要的代码
- 标记冲突已解决:
git add resolved-file.txt
git commit -m "Resolve merge conflict"
五、团队协作流程
1. 典型工作流
从
main
分支拉取最新代码:git checkout main git pull origin main
创建新功能分支:
git checkout -b feature/new-module
开发并提交代码:
git add . git commit -m "Implement new module"
推送分支到远程:
git push -u origin feature/new-module
创建 Pull Request(GitHub)或 Merge Request(GitLab)
通过 Code Review 后合并到
main
分支
2. 同步上游更改
git checkout feature/new-module
git fetch origin
git rebase origin/main # 变基到最新 main 分支
六、高级操作
1. 暂存临时修改
git stash # 保存当前工作区
git stash list # 查看暂存列表
git stash pop # 恢复并删除最近一次暂存
2. 撤销操作
场景 | 命令 |
---|---|
撤销未提交的修改 | git checkout -- file.txt |
撤销暂存区的文件 | git reset HEAD file.txt |
回退到某个提交 | git reset --hard commit_id |
创建撤销提交 | git revert commit_id |
3. 标签管理
git tag v1.0.0 # 创建轻量标签
git tag -a v1.0.0 -m "Release version 1.0.0" # 创建附注标签
git push origin --tags # 推送所有标签
七、常见问题解决
1. 提交错误分支
git reset HEAD~1 # 撤销最后一次提交(保留修改)
git checkout correct-branch
git add . && git commit -m "Fix commit to correct branch"
2. 恢复误删分支
git reflog # 查找删除前的 commit ID
git checkout -b recovered-branch commit_id
3. 大文件处理
# 使用 Git LFS
git lfs install
git lfs track "*.psd"
git add .gitattributes
git add file.psd
git commit -m "Add design file with LFS"
八、可视化工具推荐
- 命令行增强:
lazygit
、tig
- 图形化工具:
- GitHub Desktop
- Sourcetree
- GitKraken
九、常用命令速查表
操作 | 命令 |
---|---|
初始化仓库 | git init |
克隆仓库 | git clone <url> |
查看状态 | git status |
添加文件 | git add <file> |
提交更改 | git commit -m "message" |
推送分支 | git push origin <branch> |
拉取更新 | git pull origin <branch> |
合并分支 | git merge <branch> |
变基分支 | git rebase <branch> |
查看日志 | git log --oneline --graph |