Git 常用命令大全与详解

Git 是一种广泛使用的分布式版本控制系统。无论是管理个人项目还是进行团队协作,掌握 Git 的常用命令都是开发者必备的技能之一。本文将介绍一些常用的 Git 命令,并对其进行详细说明。

1. 基础命令

初始化仓库
  • git init:在当前目录下初始化一个新的 Git 仓库。
克隆仓库
  • git clone <repository-url>:从远程仓库克隆一份到本地。将 <repository-url> 替换为仓库的链接地址(如 GitHub、GitLab 等),即可下载该仓库到当前目录。
检查状态
  • git status:查看当前仓库状态,包括未跟踪的文件、修改的文件、暂存区文件等。

2. 变更管理

添加文件
  • git add <file>:将文件添加到暂存区,准备提交。
  • git add .:添加所有更改的文件(当前目录及子目录下)。
提交更改
  • git commit -m "message":将暂存区的文件提交到仓库并添加提交信息。
  • git commit -a -m "message":跳过 git add 步骤,直接提交已修改的文件。

3. 分支管理

分支是 Git 的强大功能之一,可以用来隔离不同的功能开发。

创建分支
  • git branch <branch-name>:创建一个新分支,但不会切换到该分支。
切换分支
  • git checkout <branch-name>:切换到指定分支。
  • git checkout -b <branch-name>:创建并切换到新分支。
删除分支
  • git branch -d <branch-name>:删除指定分支(本地)。
  • git push origin --delete <branch-name>:删除远程分支。

4. 合并分支

合并分支
  • git merge <branch-name>:将指定分支合并到当前分支。通常在开发完成后,将功能分支合并到主分支。
处理冲突

在合并过程中,可能会遇到冲突。Git 会提示你解决冲突。完成后,可以执行以下命令:

  • git add .
  • git commit -m "Resolve merge conflict"

5. 查看提交历史

查看提交日志
  • git log:查看提交历史。
  • git log --oneline --graph --all:以图形化简洁显示所有分支的提交历史。
查看差异
  • git diff:查看当前工作目录和暂存区的差异。
  • git diff <branch-name>:查看当前分支与指定分支的差异。

6. 远程仓库操作

查看远程仓库
  • git remote -v:查看已添加的远程仓库。
添加远程仓库
  • git remote add <name> <url>:添加新的远程仓库。
拉取远程仓库更新
  • git pull:从远程仓库获取最新内容并合并到当前分支。
推送到远程仓库
  • git push:将本地分支的内容推送到远程仓库。

7. 回滚操作

撤销文件修改
  • git checkout -- <file>:丢弃指定文件的工作区更改。
重置提交
  • git reset --soft <commit>:重置到指定提交,保留更改并暂存。
  • git reset --hard <commit>:将仓库重置到指定提交,丢弃所有更改。

8. Stash 暂存

保存当前修改
  • git stash:将当前工作目录的修改保存到堆栈中,便于切换分支。
恢复暂存内容
  • git stash pop:应用并移除最近一次 stash 内容。

9. 标签管理

创建标签
  • git tag <tag-name>:创建标签(默认指向最新提交)。
  • git tag -a <tag-name> -m "message":创建带有描述的标签。
推送标签
  • git push origin <tag-name>:将标签推送到远程仓库。

10. Git 配置

设置用户名和邮箱
  • git config --global user.name "Your Name":设置全局用户名。
  • git config --global user.email "you@example.com":设置全局邮箱。
查看 Git 配置
  • git config --list:查看所有 Git 配置信息。
相关推荐
智链RFID21 分钟前
当企业运营遇到瓶颈:RFID 为什么越来越被采用?
大数据·网络·人工智能·科技·rfid
原来是猿28 分钟前
进程间通信(三):命名管道
linux·服务器·网络·git
幸福从心动开始30 分钟前
脱单不是拖,爱要主动说——写给还在“git commit -m ‘等缘分’”的程序员
git
Data-Miner34 分钟前
50页可编辑PPT | 某大数据资产平台建设项目启动会材料
大数据
旺仔Sec1 小时前
2026江苏省职业院校技能大赛新一代信息技术赛道大数据应用开发项目样题
大数据·数据挖掘
wx_xkq12881 小时前
营销智脑V3企业级AI平台架构设计:优秘智能完成从单点工具到全链路生态布局
大数据·人工智能
2601_955363152 小时前
技术赋能B端拓客:号码核验行业的革新与价值重构,氪迹科技法人,股东号码筛选系统,阶梯式价格
大数据·人工智能·重构
大大大大晴天️2 小时前
大数据实时计算-反压机制剖析
大数据·flink·spark streaming
zxsz_com_cn2 小时前
设备预测性维护数据采集方案设计
大数据
尽兴-2 小时前
仿京东电商商品搜索服务实战:基于 Elasticsearch 的实现与落地
大数据·elasticsearch·jenkins·建模·dsl查询