Git全流程操作指南
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 | 
