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 配置信息。
相关推荐
王景程9 分钟前
GitHub的主要用途及核心功能
git·github
Мартин.5 小时前
[Meachines] [Easy] LinkVortex Git leakage+Ghost 5.58+Double Link Bypass权限提升
git
Ase5gqe6 小时前
大数据-259 离线数仓 - Griffin架构 修改配置 pom.xml sparkProperties 编译启动
xml·大数据·架构
史嘉庆6 小时前
Pandas 数据分析(二)【股票数据】
大数据·数据分析·pandas
甜到心里的蛋糕7 小时前
github汉化
git·github
唯余木叶下弦声7 小时前
PySpark之金融数据分析(Spark RDD、SQL练习题)
大数据·python·sql·数据分析·spark·pyspark
重生之Java再爱我一次8 小时前
Hadoop集群搭建
大数据·hadoop·分布式
豪越大豪10 小时前
2024年智慧消防一体化安全管控年度回顾与2025年预测
大数据·科技·运维开发
互联网资讯10 小时前
详解共享WiFi小程序怎么弄!
大数据·运维·网络·人工智能·小程序·生活
可涵不会debug11 小时前
【C++】在线五子棋对战项目网页版
linux·服务器·网络·c++·git