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

Git 代码提交管理指南

目录

1. 初始设置(首次使用 Git 时)

2. 日常提交工作流程

场景一:已有本地项目,首次连接到远程仓库

场景二:已有远程仓库,克隆到本地

3. 更精细的文件管理

4. 提交信息规范

5. 分支管理策略

6. 高级技巧

7. 团队协作注意事项

8. .gitignore 文件


提交代码到 Git 仓库是版本控制的核心操作。以下是完整的 Git 代码管理流程:

1. 初始设置(首次使用 Git 时)

# 配置用户信息(全局设置,一次即可)
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"# 检查配置
git config --list

2. 日常提交工作流程

场景一:已有本地项目,首次连接到远程仓库

# 进入项目目录
cd your-project# 初始化本地仓库
git init# 添加远程仓库地址
git remote add origin https://github.com/用户名/仓库名.git# 添加所有文件到暂存区
git add .# 提交更改
git commit -m "初始提交:项目基础结构"# 推送到远程仓库(首次推送需要 -u 参数)
git push -u origin main  # 或 master,取决于你的默认分支名

场景二:已有远程仓库,克隆到本地

# 克隆远程仓库
git clone https://github.com/用户名/仓库名.git# 进入项目目录
cd 仓库名# 进行代码修改...# 添加修改的文件到暂存区
git add 文件名  # 或 git add . 添加所有修改# 提交更改
git commit -m "描述你的修改内容"# 推送到远程仓库
git push origin main

3. 更精细的文件管理

# 查看当前状态(哪些文件被修改/添加/删除)
git status# 查看具体更改内容
git diff# 添加特定文件
git add index.html style.css script.js# 添加所有修改的文件(不包括新文件)
git add -u# 添加所有文件(包括新文件和修改的文件)
git add -A
# 或
git add .# 提交时跳过暂存区,直接提交所有已跟踪文件的修改
git commit -a -m "提交所有修改"# 撤销暂存区的文件(取消 add)
git reset 文件名# 撤销对文件的修改(危险操作,会丢失更改)
git checkout -- 文件名

4. 提交信息规范

提交信息应该清晰明了,遵循约定式提交(Conventional Commits)更好:

类型(范围): 简短描述
详细描述(可选)
突破性变更说明(可选)
关联问题编号(可选)

常见类型:

  • feat: 新功能

  • fix: 修复bug

  • docs: 文档更新

  • style: 代码格式调整

  • refactor: 代码重构

  • test: 测试相关

  • chore: 构建过程或辅助工具变动

示例:

git commit -m "feat(用户认证): 添加第三方登录功能- 实现Google OAuth登录
- 添加Facebook登录支持
- 更新登录页面UIcloses #123"

5. 分支管理策略

# 创建新分支
git branch 新分支名# 切换分支
git checkout 分支名# 创建并切换分支
git checkout -b 新分支名# 查看所有分支
git branch -a# 合并分支
git checkout main
git merge 功能分支名# 删除分支
git branch -d 分支名  # 安全删除(已合并)
git branch -D 分支名  # 强制删除(未合并)

6. 高级技巧

# 修改最后一次提交(追加修改或修改提交信息)
git commit --amend# 暂存当前工作,临时切换分支
git stash        # 暂存修改
git stash pop    # 恢复暂存的修改# 查看提交历史
git log
git log --oneline --graph --all  # 图形化查看# 撤销提交(保留更改)
git reset --soft HEAD~1# 完全撤销提交(丢弃更改)
git reset --hard HEAD~1

7. 团队协作注意事项

  1. 频繁拉取更新:开始工作前先 git pull

  2. 小步提交:每次提交只解决一个问题

  3. 明确提交信息:让他人理解你的修改意图

  4. 使用特性分支:不要在 main/master 分支直接开发

  5. 定期推送:避免本地积压太多未推送的提交

8. .gitignore 文件

创建 .gitignore 文件来排除不需要版本控制的文件:

# 依赖目录
node_modules/
vendor/# 环境配置
.env
.env.local# 日志文件
*.log# 系统文件
.DS_Store
Thumbs.db# 构建输出
dist/
build/

通过遵循这些实践,可以有效地使用 Git 管理代码,保持项目历史清晰可追溯。

http://www.dtcms.com/a/363787.html

相关文章:

  • 【鸿蒙面试题-6】LazyForEach 懒加载
  • 单多行文本溢出
  • 大数据毕业设计选题推荐-基于大数据的大学生就业因素数据分析系统-Spark-Hadoop-Bigdata
  • 从0到1掌握进度管理:核心概念解析+目标设定的新手友好指南!
  • Elasticsearch常用DSL快速查询指南
  • Linux一共有多少个版本?
  • 基于SpringBoot2+Vue2开发的储物柜管理系统
  • 详解STM32的完整启动流程
  • Java流程控制04——if选择结构(本文为个人学习笔记,内容整理自哔哩哔哩UP主【遇见狂神说】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • CentOS 7 服务器CPU突然飙升至100%?精准定位问题。
  • HBase Region
  • token存储方案
  • 告别传统照明!安科瑞 DALI 总线智能照明系统,解锁公建项目照明新体验
  • 机器人控制器开发(人形机器人产品设计)
  • 【C++模板】从起源到入门,小白必学泛型编程指南
  • 民间药方偏方网站整站源码 带数据PHP版
  • 【爬油管搜索视频软件】youtube爬虫工具,根据关键词采集搜到的视频数据
  • 分布式爬虫的全局请求间隔协调与IP轮换策略
  • 重磅!PS2021 和企业微信 5.0 可直接运行,统信兼容引擎 V3.3.2 全面升级!
  • 【最新Pr 2025安装包(Adobe Premiere Pro 2025 中文解锁版)安装包永久免费版下载安装教程】
  • 用了企业微信 AI 半年,这 5 个功能让我彻底告别重复劳动
  • 深度学习篇---DenseNet
  • 机器人控制器开发(整体架构2 Lerobot介绍)
  • [嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_测试Qt编译的opencv4.x的库
  • 移动硬盘删除东西后,没有释放空间
  • 滚珠导轨在工业制造领域如何实现高效运行?
  • java-设计模式-4-创建型模式-工厂
  • 金博智慧:数量感知与注意力对儿童数学成绩的影响
  • OpenTiny NEXT 训练营实操体验 | 四步将你的 Web 应用升级为智能应用
  • Unity通过Object学习原型模式