Git常用命令合集

目录

[Git 常用命令速查表](#Git 常用命令速查表)

​​配置与帮助​​

​​创建与获取​​

​​基本工作流​​

​​分支管理​​

​​查看历史​​

​​远程操作​​

​​撤销与回退​​

​​临时存储​​


Git 常用命令速查表

分类 命令 说明 常用参数/示例
###### ​​配置与帮助​ git config --global user.name "你的名字" 设置全局用户名 提交时会记录此信息
git config --global user.email "你的邮箱" 设置全局邮箱 提交时会记录此信息
git config --list 查看当前所有配置
git help <命令> 查看某个命令的详细帮助 例如 git help clone
###### ​​创建与获取​ git init 在当前目录初始化一个新的Git仓库
git clone <url> 克隆一个远程仓库到本地 例如 git clone https://github.com/user/repo.git
###### ​​基本工作流​ git status 查看工作区和暂存区的状态(非常常用)
git add <文件名> 将文件的修改添加到暂存区
git add .git add -A 添加所有修改的文件到暂存区
git commit -m "提交信息" 将暂存区的内容提交到本地仓库 提交信息必须清晰简洁
git commit -am "提交信息" 相当于 git add .+ git commit -m(对已跟踪文件有效)
git restore <文件名> ​丢弃工作区的修改​​(Git 2.23+) 危险操作,不可撤销
git restore --staged <文件名> ​将文件从暂存区撤出​​(取消add)
###### ​​分支管理​ git branch 查看所有本地分支
git branch <分支名> 创建一个新分支
git checkout <分支名> 切换到指定分支
git switch <分支名> ​切换到指定分支​​(Git 2.23+ 推荐)
git checkout -b <新分支名> 创建并立即切换到新分支
git switch -c <新分支名> ​创建并立即切换到新分支​​(Git 2.23+ 推荐)
git branch -d <分支名> 删除指定分支(安全删除)
git branch -D <分支名> 强制删除指定分支
git merge <分支名> 将指定分支合并到​​当前分支​
###### ​​查看历史​ git log 查看提交历史
git log --oneline 以简洁的一行格式查看历史
git log --graph 以图形方式查看分支合并历史
git diff 查看工作区和暂存区的差异
git diff --staged 查看暂存区和最后一次提交的差异
###### ​​远程操作​ git remote -v 查看已配置的远程仓库地址
git remote add <别名> <url> 添加一个新的远程仓库地址并起一个别名 例如 git remote add origin https://...
git push <远程主机> <本地分支> 将本地分支推送到远程仓库 例如 git push origin main
git push -u origin main 推送并设置 upstream(后续可直接 git push ​第一次推送分支时常用​
git pull <远程主机> <远程分支> 拉取远程分支并合并到当前分支 相当于 git fetch+ git merge
git fetch <远程主机> 仅从远程获取更新,但不自动合并
git branch -r 查看远程所有分支
###### ​​撤销与回退​ git reset --soft <commit_id> 回退到某个提交,保留工作区和暂存区的内容
git reset --mixed <commit_id> ​默认模式​​。回退到某个提交,保留工作区,重置暂存区
git reset --hard <commit_id> ​危险​​。彻底回退到某个提交,丢弃工作区和暂存区的所有修改 谨慎使用!
git revert <commit_id> 创建一个新的提交来撤销指定的提交,更安全
###### ​​临时存储​ git stash 将当前工作区和暂存区的修改临时储藏起来
git stash pop 恢复最近一次储藏的修改并删除储藏记录
git stash list 查看所有的储藏记录
git stash apply stash@{n} 恢复指定的储藏记录但不删除

相关推荐
武子康34 分钟前
大数据-128 - Flink 并行度详解:从概念到最佳实践,一文读懂任务并行执行机制 代码示例与性能优化
大数据·后端·flink
望获linux2 小时前
【实时Linux实战系列】使用 u-trace 或 a-trace 进行用户态应用剖析
java·linux·前端·网络·数据库·elasticsearch·操作系统
dessler2 小时前
Elasticsearch(ES)-Logstash
linux·运维·elasticsearch
唐青枫2 小时前
Git 提交时神秘的 create mode 100644 到底是什么?一文告诉你答案!
git
云中隐龙2 小时前
mac使用本地jdk启动elasticsearch解决elasticsearch启动时jdk损坏问题
java·elasticsearch·macos
春生野草2 小时前
Git-git stash与分支管理
git
ljh5746491192 小时前
Git合并冲突解决方法
git
悟能不能悟2 小时前
git revert commit和undo commit的区别
git
望获linux2 小时前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
励志成为糕手3 小时前
宽依赖的代价:Spark 与 MapReduce Shuffle 的数据重分布对比
大数据·spark·mapreduce·分布式计算·sortshuffle