当前位置: 首页 > java >正文

Git全流程操作指南

Git全流程操作指南

一、Git 环境配置

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

  • macOSbrew 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. 解决冲突
  1. 打开冲突文件,标记为 <<<<<<< HEAD>>>>>>> branch 的区域
  2. 手动编辑文件,保留需要的代码
  3. 标记冲突已解决:
git add resolved-file.txt
git commit -m "Resolve merge conflict"

五、团队协作流程

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

    git checkout main
    git pull origin main
    
  2. 创建新功能分支:

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

    git add .
    git commit -m "Implement new module"
    
  4. 推送分支到远程:

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

  6. 通过 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"

八、可视化工具推荐

  • 命令行增强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
http://www.xdnf.cn/news/8353.html

相关文章:

  • 《Cesium全生态解析:从入门到精通的3D地理空间开发指南》
  • Flink集成资源管理器
  • 数据可视化利器 - Grafana 与 Prometheus 联手打造监控仪表盘
  • HTTP 与 HTTPS 深度解析:原理、实践与大型项目应用
  • 【昇腾开发者训练营:Dify大模型部署实战】MindIE + Dify + DeepSeek + Embedding模型 + Rerank模型
  • 跟Gemini制作PPT:图标的搜索
  • 静默战场:eBay瑞士站如何用“黄金用户”策略改写跨境电商价值逻辑
  • 怎么判断一个Android APP使用了Cocos 这个跨端框架
  • 图解深度学习 - 人工智能、机器学习和深度学习
  • 如何设置名称服务器
  • 字节跳动旗下火山引擎都覆盖哪些领域
  • IP 地址反向解析(IP反查域名)的原理详解
  • 【黑马JavaWeb+AI知识梳理】后端Web基础03 - MySQL概述
  • Mybatis-入门程序、 数据库连接池、XML映射配置文件、MybatisX
  • springboot集成日志配置文件
  • rac-rac dg 用role自动启动service
  • 青少年编程与数学 02-020 C#程序设计基础 03课题、开始编程
  • 【Python正则表达式终极指南】从零到工程级实战
  • Spring Boot与Kafka集成实践:从入门到精通
  • AOP的代理模式
  • 非关系型数据库NoSQL
  • CMA软件实验室体系建设中的测试方法部分
  • 【计网】五六章习题测试
  • arcgis js统计FeatureLayer的椭球面积、平面面积
  • 如果请求体不是JSON格式,UserController层会怎样?
  • PCA例题
  • UG903 (v2024.2)的中文版
  • 楼宇自控系统赋予建筑智慧动能,加速智慧低碳建筑建设进程
  • 代码随想录算法训练营第四十八天
  • 昆仑芯超节点创新设计:1U 4 卡高密算力,无缝适配各类机房环境