Git常用的命令

一、基础配置

bash 复制代码
# 配置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 查看配置信息
git config --list

二、本地代码提交

bash 复制代码
# 初始化仓库(新建仓库时使用)
git init

# 查看文件状态(工作区与暂存区差异)
git status

# 将文件添加到暂存区
git add <文件名>       # 添加指定文件
git add .             # 添加所有修改(包括新增、修改,不包括删除)
git add -u            # 添加已跟踪文件的修改和删除(不包括新增)

# 提交暂存区到本地仓库
git commit -m "提交说明"  # 直接提交
git commit -am "提交说明" # 跳过暂存区,直接提交已跟踪文件的修改和删除

# 查看提交历史
git log               # 详细日志
git log --oneline     # 简洁日志(一行一条)
git log --graph       # 图形化展示分支合并历史

三、远程仓库操作

bash 复制代码
# 关联远程仓库(首次使用)
git remote add origin <远程仓库地址>  # origin 是远程仓库的默认别名

# 查看关联的远程仓库
git remote -v

# 拉取远程仓库代码(合并到当前分支)
git pull origin <分支名>  # 拉取指定分支
git pull                 # 拉取当前分支对应的远程分支(需已关联)

# 推送本地代码到远程仓库
git push origin <分支名>  # 推送指定分支
git push -u origin <分支名> # 首次推送时关联远程分支,后续可直接用 git push

# 克隆远程仓库到本地
git clone <远程仓库地址>

四、分支管理

bash 复制代码
# 查看所有分支(本地+远程)
git branch -a

# 创建新分支
git branch <分支名>

# 切换到指定分支
git checkout <分支名>

# 创建并切换到新分支(推荐)
git checkout -b <分支名>

# 从远程分支创建并切换到本地分支
git checkout -b <本地分支名> origin/<远程分支名>

# 合并分支(将目标分支合并到当前分支)
git merge <目标分支名>  # 例如:在 main 分支执行 git merge dev,合并 dev 到 main

# 删除本地分支(需先切换到其他分支)
git branch -d <分支名>   # 分支已合并时删除
git branch -D <分支名>   # 强制删除未合并的分支

# 删除远程分支
git push origin --delete <远程分支名>

# 推送本地分支到远程(创建远程分支)
git push origin <本地分支名>:<远程分支名>

五、代码回退与撤销

bash 复制代码
# 撤销工作区的修改(恢复到最近一次提交状态)
git checkout -- <文件名>

# 撤销暂存区的修改(放回工作区)
git reset HEAD <文件名>

# 回退到指定提交(保留工作区修改)
git reset --soft <提交ID>  # 仅回退版本库,暂存区和工作区不变
git reset --mixed <提交ID> # 回退版本库和暂存区,工作区不变(默认)

# 彻底回退到指定提交(覆盖工作区和暂存区,谨慎使用)
git reset --hard <提交ID>

# 放弃本地所有未提交的修改(包括新增文件)
git checkout .          # 撤销工作区修改
git clean -fd           # 删除未跟踪的文件和目录

# 暂存当前工作区(用于临时切换分支)
git stash               # 暂存
git stash pop           # 恢复暂存并删除记录
git stash list          # 查看暂存列表

六、其他常用命令

bash 复制代码
# 查看工作区与暂存区的差异
git diff

# 查看暂存区与版本库的差异
git diff --cached

# 查看分支合并关系
git branch --merged    # 查看已合并到当前分支的分支
git branch --no-merged # 查看未合并到当前分支的分支

# 标签管理(用于版本标记,如 v1.0.0)
git tag <标签名>        # 创建标签
git tag                 # 查看所有标签
git push origin <标签名> # 推送标签到远程
相关推荐
动亦定32 分钟前
页面导出大量数据导致响应超时解决方案
java·mysql
q***06291 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
还是鼠鼠1 小时前
Redisson实现的分布式锁能解决主从一致性的问题吗?
java·数据库·redis·分布式·缓存·面试·redisson
d***95621 小时前
windows配置永久路由
java
LSL666_2 小时前
2 Git的特点
git
行走的陀螺仪2 小时前
GitLab CI/CD 完整教学指南
前端·ci/cd·gitlab·团队开发·自动化测试部署
王桑.2 小时前
IO流高级流--转换流
java
qq_12498707532 小时前
基于SpringBoot技术的企业请假审批管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·信息可视化·毕业设计
怣疯knight3 小时前
unity上传git需要上传哪些文件
git·unity
BBB努力学习程序设计3 小时前
Java方法详解:提升代码复用性与可读性的利器
java