Git代码提交完整指南:从基础命令到高级技巧
Git代码提交的核心流程
Git代码提交的标准流程可以概括为四个关键步骤:修改文件 → 暂存变更 → 提交到本地仓库 → 推送到远程仓库。根据搜索结果和最佳实践,以下是完整的Git提交命令流程:
-
初始化仓库(如为新项目):
git init git remote add origin <远程仓库URL> -
检查当前状态:
git status -
添加修改到暂存区:
git add . # 添加所有修改 # 或指定文件 git add 文件名 -
提交到本地仓库:
git commit -m "清晰的提交说明" -
推送到远程仓库:
git push -u origin 分支名

图注:Git三大分区(工作区、暂存区、版本库)及与远程仓库的交互流程示意图

详细命令解析与使用场景
1. git add命令详解
git add是将工作区变更添加到暂存区的关键命令,根据搜索结果(git add常用用法原创 - CSDN博客),常用参数包括:
-
基本用法:
git add 文件名 # 添加单个文件 git add 目录/ # 添加整个目录 -
高级参数:
git add -A # 添加所有变更(包括新增、修改和删除) git add -u # 只添加已跟踪文件的变更(不包括新增文件) git add -p # 交互式选择部分变更添加 git add *.js # 添加所有.js文件 -
强制添加(忽略.gitignore规则):
git add -f 文件名
2. git commit命令详解
git commit将暂存区内容提交到本地仓库(Git代码提交全流程:从暂存到推送的完整指南_文心快码):
-
基本提交:
git commit -m "提交说明" -
跳过暂存区直接提交:
git commit -a -m "提交说明" -
修改最后一次提交(不产生新commit):
git commit --amend -m "新的提交说明" -
包含详细描述的多行提交(不使用-m参数):
git commit # 会打开编辑器输入详细说明
3. git push命令详解
推送本地提交到远程仓库(GitHub 项目提交完整流程(含常见问题与解决办法)):
-
首次推送(建立跟踪关系):
git push -u origin 分支名 -
后续推送(已建立跟踪关系):
git push -
强制推送(慎用,会覆盖远程历史):
git push -f
高级技巧与特殊场景处理
1. 修改提交历史
-
修改最近一次提交:
git commit --amend这会替换最后一次提交,而不是创建新提交(Git commit --amend 和其他重写历史记录的方法 - Atlassian)。
-
交互式变基(修改多个提交):
git rebase -i HEAD~3 # 修改最近3次提交
2. 处理提交冲突
当多人修改同一文件时可能产生冲突(解决git冲突步骤(超详细)):
-
拉取最新代码:
git pull -
定位冲突文件(Git会标记冲突部分):
git status -
手动解决冲突(编辑文件,保留需要的更改)
-
标记冲突已解决:
git add 冲突文件 -
完成合并:
git commit # Git会自动生成合并提交信息
3. 暂存未完成工作
如需临时切换分支但不想提交当前修改(Git冲突解决全流程:从定位到提交的完整指南_文心快码):
git stash # 暂存当前修改
git stash pop # 恢复暂存的修改
最佳实践与注意事项
-
提交信息规范:
- 使用清晰、具体的提交信息
- 遵循Conventional Commits规范
- 示例:
feat: 添加用户登录功能或fix: 修复首页加载错误
-
分支管理:
- 为每个功能/修复创建独立分支
- 主分支(main/master)保持稳定
-
同步频率:
- 开始工作前先
git pull - 完成功能后及时推送
- 开始工作前先
-
SSH配置(国内推荐):
ssh-keygen -t ed25519 -C "your_email@example.com"使用SSH over 443端口可避免国内网络问题(GitHub 项目提交完整流程)。
-
避免的常见错误:
- 直接修改已发布的提交历史
- 提交大型二进制文件
- 忽略.gitignore规则
完整工作流示例
-
日常开发流程:
git checkout -b feature/new-login # 创建并切换到新分支 # 进行代码修改... git add . # 添加所有修改 git commit -m "feat: 实现用户登录界面" git push -u origin feature/new-login -
修复bug流程:
git checkout main git pull git checkout -b hotfix/login-error # 修复代码... git add . git commit -m "fix: 修复登录页面JS错误" git push origin hotfix/login-errorhttps://gitee.com/pengzixiao2025/vision.git