Git全流程操作指南

Git全流程操作指南

一、Git 环境配置

1. 安装 Git
  • Windows :下载 Git for Windows

  • macOSbrew install git

  • Linux

    cpp 复制代码
    sudo apt-get update && sudo apt-get install git  # Debian/Ubuntu
    sudo yum install git                           # CentOS/RedHat
2. 配置用户信息
cpp 复制代码
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. 查看配置
cpp 复制代码
git config --list

二、本地仓库操作

1. 初始化仓库
cpp 复制代码
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. 提交代码
cpp 复制代码
git commit -m "Add initial project files"
git commit --amend              # 修改最后一次提交(未推送时)
4. 查看历史记录
cpp 复制代码
git log                         # 完整提交历史
git log --oneline               # 简洁历史
git log -p                      # 显示变更内容
git log --graph                 # 图形化分支历史

三、远程仓库操作

1. 关联远程仓库
cpp 复制代码
git remote add origin https://github.com/username/repo.git
git remote -v                   # 查看远程仓库
2. 推送代码
cpp 复制代码
git push -u origin main         # 首次推送并设置上游分支
git push                        # 后续推送
3. 拉取代码
cpp 复制代码
git pull origin main            # 拉取并合并远程代码
git fetch origin                # 仅获取远程更新(不合并)
4. 克隆仓库
cpp 复制代码
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. 合并与变基
cpp 复制代码
git checkout main
git merge feature/login         # 合并分支到当前分支
git rebase main                 # 将当前分支变基到 main
3. 解决冲突
  1. 打开冲突文件,标记为 <<<<<<< HEAD>>>>>>> branch 的区域
  2. 手动编辑文件,保留需要的代码
  3. 标记冲突已解决:
cpp 复制代码
git add resolved-file.txt
git commit -m "Resolve merge conflict"

五、团队协作流程

1. 典型工作流
  1. main 分支拉取最新代码:

    cpp 复制代码
    git checkout main
    git pull origin main
  2. 创建新功能分支:

    cpp 复制代码
    git checkout -b feature/new-module
  3. 开发并提交代码:

    cpp 复制代码
    git add .
    git commit -m "Implement new module"
  4. 推送分支到远程:

    cpp 复制代码
    git push -u origin feature/new-module
  5. 创建 Pull Request(GitHub)或 Merge Request(GitLab)

  6. 通过 Code Review 后合并到 main 分支

2. 同步上游更改
cpp 复制代码
git checkout feature/new-module
git fetch origin
git rebase origin/main          # 变基到最新 main 分支

六、高级操作

1. 暂存临时修改
cpp 复制代码
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. 标签管理
cpp 复制代码
git tag v1.0.0                  # 创建轻量标签
git tag -a v1.0.0 -m "Release version 1.0.0"  # 创建附注标签
git push origin --tags          # 推送所有标签

七、常见问题解决

1. 提交错误分支
cpp 复制代码
git reset HEAD~1                # 撤销最后一次提交(保留修改)
git checkout correct-branch
git add . && git commit -m "Fix commit to correct branch"
2. 恢复误删分支
cpp 复制代码
git reflog                      # 查找删除前的 commit ID
git checkout -b recovered-branch commit_id
3. 大文件处理
cpp 复制代码
# 使用 Git LFS
git lfs install
git lfs track "*.psd"
git add .gitattributes
git add file.psd
git commit -m "Add design file with LFS"

八、可视化工具推荐

  • 命令行增强lazygittig
  • 图形化工具
    • 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
相关推荐
小皮侠3 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github
HalukiSan4 小时前
如何提交PR
git·gitlab·github
爱莉希雅&&&15 小时前
shell编程之awk命令详解
linux·服务器·git
baiyu3315 小时前
成为git砖家(12): 看懂git合并分支时冲突提示符
git
wu_aceo19 小时前
将本地项目提交到Gitee
git·gitee·提交·本地提交·上传git
随便取个六字1 天前
GIT操作 学习
git·学习
星源~2 天前
tree 命令集成到 Git Bash:可视化目录结构的指南
git·单片机·物联网·嵌入式·项目开发
zhaqonianzhu2 天前
git gerrit安装钩子
git·gerrit
这是个栗子2 天前
【问题解决】VSCode终端中看不到Git-Bash
ide·git·vscode
悲伤小伞2 天前
linux_git的使用
linux·c语言·c++·git