工作中常用git命令总结

git 常用命令 git 常用命令汇总 阅读详情

概要

博主整理了日常工作开发中高频使用的Git命令,涵盖分支操作、版本回退、分支合并、差异对比等核心场景,命令可直接复制使用,方便开发中快速查阅。

持续更新中~~~
【重点关注】: 十一、交互式变基交互式变基(git rebase -i)(提交整理/合并)。这个命令是博主在工作之前几乎没有用到过的,但是工作中用的十分频繁,建议重点掌握!

一、分支拉取与创建

1. 拉取远程分支并创建本地分支

直接拉取远程分支到本地,使用远程分支默认名称创建并切换:

git checkout -b <origin/branch>

自定义本地分支名称拉取远程分支:

git checkout -b local-branch-name <origin/branch>

2. 基于本地分支创建新分支

基于指定本地分支创建新分支并切换:

git checkout -b <new-branch> <old-branch>

基于当前分支创建新分支并切换:

git checkout -b <new-branch>

基于当前分支创建新分支,不切换至新分支:

git branch <new-branch>

二、本地分支推送到远程

将本地新分支推送到远程,建立同名远程分支并关联(本地分支无关联远程分支时使用):

git push -u/--set-upstream <remote> <local-branch>

示例:

git push -u origin feature20240623

三、版本回退相关(git reset/git revert)

1. 已commit未push - 保留修改至暂存区

git reset --soft <oldCommit>

可通过git log或git reflog获取;回退操作记录在git reflog,git log不显示至的提交信息。

2. 已commit未push - 保留修改至工作区

git reset --mixed <oldCommit>

可通过git log或git reflog获取;回退操作记录在git reflog,git log不显示至的提交信息。

3. 已commit已push - 丢弃指定提交(保留后续修改)

git revert <dropCommit>

仅丢弃的修改,后续提交修改保留;修改不进入暂存区/工作区,git log仍可见该提交hash,相当于新增一次提交。
![Revert测试截图]

4. 已commit已push - 强制回退至指定版本

git reset --hard <oldCommit>

回退至指定版本,git log不显示中间提交,修改直接丢弃;会导致本地分支落后远程,需强制推送:git push -f/--force;回退记录可通过git reflog查看。

四、分支关联与信息查看

1. 查看本地分支与远程分支对应关系

git branch -vv

2. 切换本地分支对应的远程分支

示例:将local-branch关联远程origin/feat01

git checkout local-branch
git branch -u origin/feat01

3. 取消本地分支关联的远程分支

git branch --unset-upstream

五、分支删除

1. 删除本地分支

git branch -d/-D local-branch

2. 删除远程分支

git push origin --delete origin-branch

六、分支合并(dev -> master 示例)

# 切换到master分支并拉取最新代码
git checkout master
git pull --rebase master

# 切换到dev分支,创建备份分支
git checkout dev
git branch dev-bak

# 基于master变基dev分支
git rebase master

# 查看状态并推送
git status
git push

完成后提dev -> master的MR,手动审核后合并。

七、差异对比与补丁操作(git diff/format-patch/apply)

1. 生成与应用patch文件

# 生成patch文件
git diff > fileName.patch

# 应用patch文件
git apply fileName.patch

2. git diff 核心用法

基础差异对比
# 查看工作区与暂存区文件差异
git diff filename

# 查看暂存区与仓库区文件差异
git diff --cached filename
多文件差异对比
# 查看工作区多个文件修改
git diff -- a.java b.java

# 查看暂存区多个文件与仓库区差异
git diff --cached -- a.java b.java
与指定版本/版本间的差异对比
# 查看工作区文件与指定版本的差异
git diff commitId -- a.java b.java

# 查看两个版本之间的文件差异
git diff commitId1 commitId2 -- a.java b.java

# 查看暂存区文件与指定版本的差异
git diff --cached commitId -- a.java
提交区间的差异对比

场景:branch1有c1/c2/c3/c4/c5五次提交(hash对应hash1-hash5)

# 查看c4/c5的修改内容
git diff hash3..

# 查看c3/c4的修改内容(不包含c2,包含c4)
git diff hash2 hash4

八、远程分支列表更新

git remote update <originBranchName> --prune

九、查看提交文件信息(git show)

仅显示某次提交修改的文件名:

git show --pretty="format:" --name-only mycommitid

十、提交移植(git cherry-pick)

1. 移植单个提交

场景:将branch1的c3提交移植到branch2

# 切换到branch1查看提交hash
git checkout branch1
git log --oneline

# 切换到branch2执行移植
git checkout branch2
git cherry-pick hash3

# 冲突处理
git cherry-pick --continue  # 解决冲突后继续
git cherry-pick --abort    # 放弃此次移植

2. 移植连续提交

场景:将branch1的c2-c4提交移植到branch2(c2时间早于c4)

git cherry-pick hash2^..hash4

你需要新增 git rebase -i 相关内容,我会保持和之前一致的优快云文章风格,新增独立标题和详细用法说明,可直接粘贴复用:


十一、交互式变基(git rebase -i)(提交整理/合并)

git rebase -i 全称是 interactive rebase(交互式变基),用于对指定区间内的提交进行整理(合并、编辑、重命名等),其中最常用的是将 pick 修改为 s(squash)或 e(edit),命令基础格式(以整理最近3次提交为例):

# 整理最近3次提交(可替换为具体commitId,整理该commitId之后的提交)
git rebase -i HEAD~3

执行命令后会进入Git默认编辑器(通常是vim),显示提交列表,每一行开头均为 pick,修改 pick 为对应参数即可实现相应功能。

1. 参数 s(squash):合并提交

作用

将当前提交合并到前一个提交中,用于清理冗余的小提交(比如多次修复同一个bug的提交,合并为一个整洁的提交),仅保留前一个提交的信息,当前提交的修改会被整合进去。

使用方法
  1. 执行 git rebase -i HEAD~n(n为要整理的提交数量),进入编辑器。
  2. 保留第一个提交的 pick(作为合并后的基准提交)。
  3. 将后续需要合并的提交行开头的 pick 修改为 s(或简写 s,效果相同)。
  4. 保存并退出编辑器(vim中:Esc -> 输入 :wq -> 回车)。
  5. 后续会进入提交信息编辑页面,可编辑最终的合并提交信息,保存退出后即完成合并。
示例(合并最近2次提交)

编辑器中原始内容:

pick a1b2c3d 修复xxxbug(第一次修改)
pick d4e5f6g 修复xxxbug(补充修改)

修改后内容(将第二个pick改为s):

pick a1b2c3d 修复xxxbug(第一次修改)
s d4e5f6g 修复xxxbug(补充修改)

2. 参数 e(edit):编辑提交

作用

暂停在当前提交上,允许你修改该提交的内容(代码)或提交信息,用于修正历史提交中的错误(比如提交了错误的代码、提交信息写错且已无法用 git commit --amend 修正)。

使用方法
  1. 执行 git rebase -i HEAD~n,进入编辑器。
  2. 将需要编辑的提交行开头的 pick 修改为 e(或简写 e,效果相同)。
  3. 保存并退出编辑器,此时Git会暂停在该提交上,提示「You can amend the commit now」。
  4. 进行所需修改:
    • 修改代码:直接修改文件,然后执行 git add <修改的文件>。
    • 修改提交信息:后续步骤会提供编辑入口,或此时执行 git commit --amend。
  5. 修改完成后,执行 git rebase --continue 继续完成变基流程。
  6. 若需放弃此次编辑,执行 git rebase --abort 恢复到变基前的状态。
示例(编辑最近第2次提交)

编辑器中原始内容:

pick a1b2c3d 完成xxx功能开发
pick d4e5f6g 新增xxx配置(提交信息有误/代码有遗漏)
pick g7h8i9j 优化xxx性能

修改后内容(将第二个pick改为e):

pick a1b2c3d 完成xxx功能开发
e d4e5f6g 新增xxx配置(提交信息有误/代码有遗漏)
pick g7h8i9j 优化xxx性能
git常用命令大全 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 阅读详情

相关推荐

关于前端Git常用命令以及工作所需提交

在前端开发中,多人协作和代码管理是不可或缺的一部分。Git作为分布式版本控制系统,为我们的工作带来了极大的便利。近期,我深入学习了Git的常用命令,并在实际项目中应用,有了一些心得和体会,现在整理出来与大家分享。

qq_62685154的博客 859

Git常用命令及方法大全

Git常用命令及方法大全 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 本地分支关联远程 git branch --set-upstream-to=origin/分支名 分支名 代码库修改密码后push不上去怎么办? // 重新输入密码 git config --system --unset credential.helper // 密码存储同步

m0_46168595的博客 3万+

Git常用命令的使用

版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.关于版本控制分为三种:本地版本控制系统,如rcs;集中化的版本控制系统,如CVS、SVN;分布式版本控制系统,如Git。

s13596191285的博客 774

常用git命令总结大全

一、常用命令 git init git add 文件名 git commit -m “备注” git status git diff git show commit_id 查看某次修改 git log或者git log —pretty=oneline或者git log —graph —pretty=oneline —abbrev-commit 用git log -...

wuhuagu_wuhuaguo的博客 5万+

ArcGIS通过已知坐标点转面(通过excel文件,有工具可批量生成面要素)

通过使用ArcGIS中的工具,将坐标点XY数据转换成可视化的点线面矢量数据,更加方便快捷有效的获取对应信息

qq_41046162的博客 3万+

告别手动打卡:逍遥模拟器+宥马运动自动跑步脚本配置全流程

本文详细介绍了如何利用逍遥模拟器和自动化脚本实现宥马运动的自动跑步功能,告别手动打卡的繁琐。从环境准备、脚本部署到定位配置和智能调度,全流程指导用户完成自动化设置,提升效率并确保运动数据的真实性。

weixin_42532473的博客 536

工作多年,我常用到的那些git命令

这篇文章总结了Git日常开发中最常用的命令,分为五个部分:基础操作(如status、add、commit、push、pull)、分支管理(创建/切换/合并分支)、查看信息与历史(log、diff)、撤销与修复(restore、amend、reset、revert)以及远程协作(fetch、remote、删除远程分支)。文章强调提交信息的规范性,并提醒谨慎使用可能改变历史的命令(如amend、reset)。对于Git新手,这些核心命令足以应对大多数开发场景,而熟练开发者可以通过IDE可视化工具完成相同操作。

qq_38732032的博客 1717

电商秒杀场景下,如何用Redis+Lua脚本实现原子性库存扣减(附完整代码)

本文针对电商秒杀场景下的高并发与超卖难题,详细解析了如何利用Redis的原子性命令与Lua脚本实现可靠的库存扣减。通过对比多种方案,阐述了Redis+Lua作为黄金搭档的技术原理,并提供了从基础扣减到预扣减模型的完整代码实现,确保在高并发下数据的一致性与系统性能。

weixin_29219539的博客 502

工作常用 Git 命令

文章目录0. GIt 基础概念1. 常用的命令2. 简明指南2.1 创建新仓库2.2 检出仓库2.3 添加和提交2.4 推送改动2.5 分支管理2.6 更新与合并2.7 查看历史2.8 版本回退2.9 删除文件2.10 远程仓库命令总结2.11 分支操作命令总结3. 参考文献 Git是Linus Benedict Torvalds更好的管理Linux系统而开发的一个“分布式版本控制工具”,对团队协...

yuzhangsir 286

把收款差异从扯皮变成闭环:SAP S/4HANA Dispute Resolution 模块到底解决什么问题?

本文摘要: SAP S/4HANA的争议解决模块(Dispute Resolution)通过标准化流程管理企业应收争议,解决发票与收款差异问题。核心是创建可追踪的Dispute Case工单,明确处理角色(Processor和Manager),并与财务系统联动实现自动清账。系统支持手工/自动创建争议工单,通过动态默认值减少错误,并最终实现争议金额归零的闭环管理。文中给出制造业客户扣款的完整处理案例,并强调组织落地需统一权限与目录。最后提供ABAP代码示例展示如何通过BAPI创建争议工单。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 162

科研绘图系列:R语言绘制宏基因组分析的可视化图形(network & barplot & heatmap)

科研绘图系列:R语言多图形组合(network & barplot & heatmap)

专注生信领域 642

工作中常用的 Git 命令

Git 已经成为当前软件开发版本控制的标准工具。掌握 Git 不仅能提高个人开发效率,更能促进团队协作,分享 20 个最常用的 Git 命令。

qq_29896351的博客 432

高通平台 Android T 蓝牙技术全解析:架构、代码与实现原理

协议栈、配置文件和服务都运行在一个独立的用户空间进程。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 99

git 工作流程及常用命令

git 工作流程及常用命令

Abandon_first的博客 307

如何在 Mac 上下载安装 Xcode——并为 iOS 开发更新它原文

下载 Xcode安装命令行工具打开新版本删除文件注意,我在下面的步骤中列出了一些终端命令。这些命令可以被输入到你现在的工作目录中。这意味着你不需要导航到任何特定的文件夹。如果你真的想这样做,你可以在输入下面的步骤中的命令之前先输入== cd==。这将使你返回到主文件夹。

专注于AI领域前沿知识,业余爱好开发软件 4665

AI编程工具深度对比:Cursor、Copilot、Trae与Claude Code,2025年开发者该如何选择?

2025年AI编程工具市场已形成四大主力阵营:Cursor(AI原生IDE)、GitHub Copilot(行业标准)、Trae(中国免费方案)和Claude Code(终端交互)。核心差异体现在技术能力(代码生成准确率85%-95%)、智能体协作程度和上下文处理能力(8K-200K tokens)。用户体验方面,Trae对中文支持最佳且免费,Copilot企业集成强,Cursor平衡易用与功能,Claude Code适合高阶开发者。实际测试显示,不同工具在原型开发、算法实现等场景各有优势

fudaihb的博客 6495

Git一般工作流及常用Git命令

文章目录1. 工作流程2. 常用命令git 修改用户名git 回滚常用git stash命令查看某个文件的修改记录git showgit 其他命令 1. 工作流程 在多人使用Git进行开发,如果没有一个规范的工作流程,那么就很容易导致提交冲突,或者提交被覆盖等:这里假设主分支是work (一般不建议在master有很多人有提交权限),自己得分支交myBranch, 常规工作流如下: 提交自己或换存(stash)当前所在分支的修改 git commit -a #或 git stash 切换到项目主

HOSTEN的博客 263

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Git - 补充工作中常用的一些命令

如何将分支hotfix/bug-123的提交 abc,拿到 feature/bug-123分支?:使用 git cherry-pick,因为它只提取指定提交,不会引入其他无关的更改。假设你当前在feature分支。

qq_41668395的博客 945

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Git在工作中最常用命令(掌握这些足够工作用了)

本人第一次实习的时候,Git命令只会git clone、git add、git commit、git push。但是在平时学习,或者自己开发项目的时候,通常只有一个分支,所以你可以随便玩git。如果你自己一个分支开发还好,但是如果多位同事一起开发一个分支,这个时候你做的每个git操作都要谨慎些,别随便搞,别把同事提交的代码覆盖了。如果使用git add 指定文件路径 这个命令不想写文件路径,就可以先执行git status看你要的文件在哪个路径上,然后再复制路径,在执行git add 指定文件路径。

m0_74926534的博客 949

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

git 工作中常用的命令

git show 查看最近一次commit的相关信息 git branch -a #查看所有分支 git branch -r #查看远程分支 git branch -vv #查看本地分支所关联的远程分支 git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # Delete the old branchgit checkout -b...

JineD的博客 9054

【git】工作场景中常用的git命令

工作场景中常用的git命令,记录下来方便调取。

m0_51371693的博客 1919

日常工作中常用Git命令小结

正确理解Git的四个工作区域 Workspace:工作区,即个人克隆项目到本地后,项目所在的文件夹目录。 Index / Stage:暂存区,用于储存工作区中的变更(增删改等改动)的文件的地方。操作时使用git add会将本地所有的变更提交到暂存区中 Repository:仓库区(或版本库),用于储存工作区和暂存区中提交上来的文件,使用git commit -m '提交内容的描述',这里面有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本 Remote:远程仓库,当进行到这里的时候(即一个人的开发

吃果冻不吐果冻皮 560

工作中常用的git命令

工作中常用的git命令

StephenYou的自习室 467

git常用命令、企业开发标准工作流程

git常用命令、真实企业团队项目开发标准工作流程

weixin_53185464的博客 1633

工作中常用的Git操作命令(一)

时间过得真快,一转眼吗喽也是好歹工作几年了,把这些年平时用的git命令整理记录一下,分几个文章,囊括了常用的命令,工作日常很多时候都是使用svn,回到宿舍自己的项目才是git,就问你离不离谱。通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。

Sobered的博客 1597

常用git命令、git的工作区

●利用 git init 初始化本地仓库●利用 git add . 添加工作区文件到暂存区●利用 git commit -m '注释' 将暂存区内容提交到仓库中形成一个新版本●利用 git remote add origin 远程仓库地址将本地仓库与远程仓库绑定●利用 git push -u origin master将本地仓库版本文件推送到远程仓库中●利用 git log 或 git log --oneline 查看提交版本历史。

wo_hao_e的博客 174
上一篇: 该账号首发文章
下一篇: 手动实现线程安全且带过期功能的本地LRU缓存
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值