Git 日常操作全攻略:拉取 / 提交代码 + 高频命令速查

作为开发者,Git 是日常工作中绕不开的版本控制工具 ------ 从协作开发拉取最新代码,到提交自己的开发成果,再到处理分支、回滚代码等场景,熟练掌握核心命令能大幅提升开发效率。本文整理了 Git 最核心的「拉取代码、提交代码」流程,以及日常工作中高频使用的命令,既是新手入门指南,也可作为老开发者的速查手册。

一、核心操作:从仓库拉取项目代码

拉取代码分为两种场景:首次克隆远程仓库本地已有项目拉取最新更新,对应不同的命令和操作逻辑。

1. 场景 1:首次克隆远程仓库(本地无代码)

如果是第一次获取项目代码,使用git clone命令将远程仓库完整克隆到本地,步骤如下:

复制代码
# 1. 打开终端,进入要存放代码的目录(比如~/projects)
cd ~/projects

# 2. 克隆远程仓库(支持HTTPS/SSH两种方式,推荐SSH,免重复输密码)
# HTTPS方式(通用,无需配置密钥)
git clone https://github.com/用户名/仓库名.git

# SSH方式(需提前配置SSH密钥,更安全)
git clone git@github.com:用户名/仓库名.git

# 3. 克隆完成后,进入项目目录
cd 仓库名

# 4. 初始化Git仓库(首次需要执行)
git init

关键说明

  • 克隆时会自动创建本地仓库,并关联远程仓库(默认远程仓库名称为origin);

  • 如果需要克隆指定分支(而非默认 main/master),添加-b参数:

    复制代码
    git clone -b 分支名 https://github.com/用户名/仓库名.git

2. 场景 2:本地已有项目,拉取远程最新代码

日常开发中,每次开始工作前都需要拉取远程最新代码(避免和同事的代码冲突),核心命令是git pull

复制代码
# 1. 先进入项目目录
cd 你的项目目录

# 2. 拉取当前分支的远程最新代码(最简单方式)
git pull

# 进阶:指定远程仓库和分支(适用于关联多个远程仓库的场景)
git pull origin 分支名  # 比如git pull origin develop

避坑提示

  • 拉取前建议先执行git status查看本地是否有未提交的修改,若有未提交内容,拉取可能触发冲突;
  • 若拉取时提示冲突,先解决冲突(保留需要的代码),再提交冲突文件。

二、核心操作:提交代码到远程仓库

提交代码不是一步到位,而是遵循「暂存→提交→推送」的流程,确保代码可追溯、版本清晰。

复制代码
# 首次配置即可
# 配置全局用户名(可以是你的昵称/真实姓名,比如 "xiaoming")
git config --global user.name "你的名字"

# 配置全局邮箱(建议用你注册 Git 仓库平台的邮箱,如 Gitee/GitHub/GitLab 邮箱)
git config --global user.email "你的邮箱@example.com"

完整提交流程(4 步走)

复制代码
# 1. 查看本地代码修改状态(必做!确认要提交的文件)
git status

# 2. 将修改的文件加入暂存区(核心:指定要提交的文件)
# 方式1:提交所有修改的文件(新增/修改/删除)
git add .

# 方式2:提交指定文件(推荐,避免提交无关文件)
git add 文件名1 文件名2  # 比如git add src/main.py config.yaml

# 3. 将暂存区的文件提交到本地仓库(必须写提交信息,规范!)
git commit -m "提交信息:清晰描述做了什么修改"
# 示例:git commit -m "feat: 新增用户登录接口的测试用例"

# 4. 关联远程仓库(首次推必做)
git remote add origin git@gitee.com:你的用户名/仓库名.git

# 5. 首次推送(绑定分支)
git push -u origin 分支名

# 6. 后续推送只需执行(不用写地址/分支)
git push

# 进阶:指定远程仓库和分支(适用于多远程/多分支场景)
git push origin 分支名  # 比如git push origin feature/user-login

提交规范(团队协作必备)

提交信息建议遵循「类型:描述」的格式,便于后续追溯和自动化生成日志,常见类型:

  • feat:新增功能(比如 feat: 新增订单查询接口);
  • fix:修复 bug(比如 fix: 修复登录时验证码失效的问题);
  • docs:仅修改文档(比如 docs: 更新 README.md);
  • style:代码格式调整(无逻辑修改,比如缩进、空格);
  • refactor:代码重构(无新增功能 / 修复 bug);
  • test:新增 / 修改测试代码;
  • chore:构建 / 工具配置修改(比如 chore: 升级依赖版本)。

常见问题处理

  • 提交后发现漏加文件 / 提交信息写错:

    复制代码
    # 补充文件并合并到上一次提交(保留原提交记录,仅修改内容)
    git add 漏加的文件名
    git commit --amend --no-edit  # --no-edit表示不修改提交信息
    # 若需要修改提交信息,去掉--no-edit,手动输入新信息
    git commit --amend
  • 推送到远程后发现错误(需撤回推送):谨慎使用,避免覆盖团队代码!

    复制代码
    # 回滚本地提交(保留代码修改,仅撤销commit)
    git reset --soft HEAD^
  • git push失败:出现相关报错 hint: use 'git pull' before pushing again.
    (原因:远程仓库的 mall-admin-web 分支有本地没有的提交记录)

    复制代码
    # 解决步骤:执行这条命令后再重新提交
    git pull origin mall-admin-web --allow-unrelated-histories --no-rebase
    
    # --allow-unrelated-histories:解决本地 / 远程分支 "无共同提交历史" 的核心参数;
    # --no-rebase:用最简单的 merge 方式合并,避免新手容易出错的 rebase 操作。

三、日常高频 Git 命令速查(分类整理)

1. 仓库 / 状态查看类(最常用)

命令 用途 示例
git status 查看本地代码修改状态(哪些文件新增 / 修改 / 删除) git status
git log 查看提交历史(按时间倒序) git log(简洁版:git log --oneline
git branch 查看本地分支(* 标注当前分支) git branch(查看远程分支:git branch -r
git remote -v 查看本地关联的远程仓库地址 git remote -v

2. 分支操作类(协作开发核心)

复制代码
# 1. 创建并切换到新分支(日常开发必用,避免直接改主分支)
git checkout -b 新分支名  # 比如git checkout -b feature/order-query

# 2. 切换到已有分支
git checkout 分支名  # 比如git checkout develop

# 3. 删除本地分支(开发完成后清理)
git branch -d 分支名  # 强制删除未合并的分支:git branch -D 分支名

# 4. 合并分支(比如将feature分支合并到develop)
git checkout develop  # 先切换到目标分支
git merge feature/order-query  # 合并指定分支

3. 代码撤销 / 回滚类(救急必备)

复制代码
# 1. 撤销工作区的修改(未add的文件,恢复到最近一次commit状态)
git checkout -- 文件名  # 比如git checkout -- src/main.py

# 2. 撤销暂存区的文件(已add但未commit)
git reset HEAD 文件名  # 撤销指定文件;撤销所有:git reset HEAD .

# 3. 回滚到指定版本(根据commit ID,可从git log获取)
git reset --hard 提交ID  # 谨慎使用!会清空本地未提交的修改

4. 远程仓库操作类

复制代码
# 1. 关联远程仓库(本地初始化仓库后使用)
git remote add origin 远程仓库地址  # 比如git remote add origin git@github.com:xxx/xxx.git

# 2. 查看远程分支最新状态(不拉取代码,仅同步分支信息)
git fetch origin

# 3. 删除远程分支(比如删除已合并的feature分支)
git push origin --delete 分支名

四、日常使用避坑指南

  1. 避免直接在主分支(main/master)开发:始终创建 feature 分支开发,合并前先拉取主分支最新代码,减少冲突;

  2. 提交前必看git status:防止提交无关文件(比如 IDE 配置文件、本地测试文件);

  3. 拉取代码前先提交本地修改 :或使用git stash暂存修改(拉取后再恢复):

    复制代码
    # 暂存本地修改
    git stash
    # 拉取远程代码
    git pull
    # 恢复暂存的修改
    git stash pop
  4. 冲突处理优先沟通:遇到代码冲突时,先和修改该部分代码的同事确认,避免盲目覆盖。

五、总结

Git 的核心价值是「版本控制 + 协作开发」,日常使用无需死记所有命令,重点掌握:

  1. 拉取代码:git clone(首次)/git pull(更新);
  2. 提交代码:git addgit commitgit push
  3. 分支管理:git checkout -b(新建分支)、git merge(合并分支);
  4. 状态查看 / 撤销:git statusgit checkout --git reset

熟练掌握这些核心操作,再结合本文的速查命令,就能应对 90% 以上的日常开发场景。建议将本文收藏,遇到问题时快速查阅,比反复搜教程更高效。

相关推荐
CCC:CarCrazeCurator4 小时前
详解文件与文件夹权限:谁能操作、能做什么
git
xuhe25 小时前
掌控Coding Plan刷新节奏, 低价套餐满足高峰时期编程需求 -- Quota-Activator
ai·github
Mintimate5 小时前
LeanCloud 遗憾谢幕:基于 EdgeOne KV 打造高性能 PV/UV 访客统计
serverless·github·边缘计算
Delta-delta5 小时前
Git:warning: Clone succeeded, but checkout failed.
git
日光倾8 小时前
【Vue.js 入门笔记】Git入门
笔记·git
犽戾武8 小时前
Ubuntu(Orange Pi / RK3588)把工程上传到 GitHub 的完整流程总结(Windows差不多)
github
CoderJia程序员甲9 小时前
GitHub 热榜项目 - 日榜(2026-02-18)
人工智能·ai·大模型·github·ai教程
dreams_dream9 小时前
Git 的 Tag
git
人道领域10 小时前
SpringBoot多环境配置实战指南
java·开发语言·spring boot·github