菜鸟科技网

Git命令行提交,常用命令有哪些?

Git命令行提交是开发日常中频繁且核心的操作,掌握其流程和细节能显著提升代码管理效率,以下从基础操作、进阶技巧及最佳实践三个维度展开说明。

Git命令行提交,常用命令有哪些?-图1
(图片来源网络,侵删)

基础提交流程

Git提交通常包含三个核心步骤:暂存文件、提交信息、推送远程仓库,以新建文件feature.js为例,完整流程如下:

  1. 查看状态:执行git status,确认文件未被跟踪(显示Untracked files)或已修改(modified: feature.js)。
  2. 添加暂存区:使用git add feature.js将指定文件加入暂存区,或git add .添加所有修改。
  3. 提交本地仓库:通过git commit -m "feat: 添加用户认证功能"提交,其中-m后跟简洁明了的提交信息,遵循类型: 描述规范(如feat表示新功能,fix表示修复bug)。
  4. 推送远程:执行git push origin branch-name将本地提交同步到远程分支(如maindev)。

进阶提交技巧

  1. 撤销暂存或修改

    • 若误将文件加入暂存区,可通过git reset HEAD feature.js取消暂存,保留工作区修改。
    • 若想直接丢弃工作区修改,执行git checkout -- feature.js(需谨慎操作,不可逆)。
  2. 修改最后一次提交
    发现提交信息写错或遗漏文件时,可使用git commit --amend -m "修正信息",该命令会覆盖上一次提交并生成新的提交ID。

  3. 暂存与恢复工作区
    当需要切换分支处理紧急任务时,通过git stash保存当前工作进度,后续用git stash pop恢复(或git stash apply仅恢复不删除暂存)。

    Git命令行提交,常用命令有哪些?-图2
    (图片来源网络,侵删)
  4. 查看提交历史

    • git log --oneline:简洁显示提交历史(每行显示提交ID和首行信息)。
    • git log --graph --all:以图形化方式展示分支合并情况。

最佳实践建议

  1. 提交信息规范:采用约定式提交格式,如type(scope): description,其中type可选featfixdocsstylerefactor等,便于自动化工具处理。
  2. 小步提交原则:每次提交聚焦单一功能或修复,避免合并多个不相关的修改,便于回溯和审查。
  3. 分支管理策略:使用功能分支(如feature/user-login)开发,测试通过后再合并到主分支,减少主分支冲突。

常见提交场景命令速查

场景 命令示例 说明
提交所有修改 git add . && git commit -m "信息" 适用于暂存所有修改并提交
修改上次提交信息 `git commit --amend -m "新信息" 覆盖最近一次提交
查看某文件修改历史 git log feature.js -p -p显示详细变更内容
回退到某次提交 git reset --hard HEAD~1 删除最近一次提交及其修改

相关问答FAQs

Q1: 如何撤销已经推送到远程的提交?
A1: 若提交已推送远程,需通过git revert <commit-id>创建一个新提交来撤销变更,而非直接修改历史,操作步骤:

  1. 本地执行git revert <commit-id>,输入提交信息后完成撤销提交;
  2. 推送远程:git push origin branch-name
    注意:revert不会删除原提交,而是生成反向提交,适合团队协作场景;若需强制修改历史(如私有分支),可用git reset --hard后强制推送,但需谨慎。

Q2: 提交时提示“Changes not staged for commit”怎么办?
A2: 该错误表示文件已修改但未加入暂存区,解决方法:

  1. 执行git status查看具体未暂存文件;
  2. 使用git add <文件名>git add .将修改加入暂存区;
  3. 再次执行git commit -m "信息"完成提交。
    若想直接丢弃修改,可执行git checkout -- <文件名>,但会丢失未保存的更改。
Git命令行提交,常用命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇