git 分享

分享下自己总结的Git常用命令 git reset --hard HEAD^ 用来撤销已经commit的内容(等价于 git reset --hard HEAD~1)。所以当我们使用HEAD来操作指针的时候,其实就是不改变当前的commit的指向。git reset --merge ORIG_HEAD,注意其中的--hard 换成了 --merge,这样就可以避免在回滚时清除working tree。git commit --amend 来修改,这个只能修改最近上一次的,也就是用一个新的提交来覆盖上一次的提交。 阅读详情

git stash
git stash list
git stash apply stash@{2}

常用命令

1. 配置

git --version

git config --list

git config --global user.name "first name"

git config --global user.email "javalive09@163.com"

git config color.ui true


 demo/ .git/config

git config -e


/home/peter/.gitconfig
git config -e --global


/etc/gitconfig
git config -e --system

ssh-keygen -t rsa -C "javalive09@163.com"


clip < ~/.ssh/id_rsa.pub

ssh -T git@github.com

git touch ~/.ssh/config
#GitHub
Host github.com
  User git
  HostName github.com
  IdentityFile ~/.ssh/id_rsa

#Maxthon 
Host mgit  
  User git    
  HostName mgit.maxthon.net
  Port 22    
  IdentityFile ~/.ssh/id_rsa

#Bitbucket
Host bitbucket.org
 User git
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa




2. 创建仓库

git init


3. 添加到缓存区

git add -A


4. 提交代码

git commit -m "提交代码信息"

修改提交信息

git commit --amend



5. 添加远程仓库

git remote -v
git remote add origin https://github.com/javalive09/CodeBag.git

删除远程仓库

git push origin --delete <branchName>



6. 推送到远程仓库

git push origin master


7. 从远程仓库clone

git clone https://github.com/javalive09/CodeBag.git



8. 从远程仓库拉取

git pull

pull = fetch + merge



9. 还原单个文件到HEAD

git checkout -- /Users/peter/git/xui/xxx.java

git checkout HEAD /Users/peter/git/xui/XuiPSdk/libs/armeabi/libgetuiext.so



9.1 还原单个文件的某个版本

git checkout <commit> <filepath>

git checkout 45b92e3 /Users/peter/git/xui/CarClient/assets/video/video.mp4



9.2 强制切换分支 (放弃本地修改切换)

git checkout develop -f




10. 还原整个项目到master

git reset --hard master


还原到HEAD

git reset --hard HEAD

还原到HEAD上次提交

git reset –hard HEAD^




11. 查看仓库状态

git status


12. 查看历史

git log

git log --graph
git log --oneline
git log --oneline --graph




13.  tag 标签

git tag 
git tag -l
git show 1.0
git tag -a v1.0 -m "新加tag"
git tag -d v1.0
git push origin --tags
git push origin :refs/tags/<tag name>



14. 分支

git branch
git branch abc
git checkout abc
git push origin abc
git push origin :abc

git checkout -b abc



列出所有分支(本地+远程)

git branch -a



创建并且切换分支

git checkout -b abc



删除本地分支

git branch -d <branch name>


修改分支名字

git branch -m release_v1.24 release_v1.0.0


15. 分支切换时没提交 想暂存数据


暂存

git stash
暂存列表
git stash list

暂存使用

git stash apply stash@{2}



16.忽略已经提交的文件

在 .gitignore 文件中加入这个文件夹

git rm --cache path

提交


删除版本库中的文件

git rm path

修改版本库中的文件名

git mv welcome.txt README



17.git 恢复丢失的分支

git reflog show


git branch recover_branch commitid 

可以找回


18.git 对比文件


对比(工作区和上次提交)的区别

git diff

对比(工作区某个文件和上次提交的这个文件)的区别

git diff filename


对比(缓存区和上次提交)的区别

git diff --cached

对比(缓存区某个文件和上次提交的这个文件)的区别

git diff –cached filename


对比(某两个版本)的区别

git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9 b8e7b00c02b95b320f14b625663fdecf2d63e74c

对比(某两个版本文件)的区别

git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename 

19. git 归档

基于最新提交建立归档文件latest.zip。

git archive -o latest.zip HEAD


只将目录src和doc建立到归档partial.tar中。

git archive -o partial.tar HEAD src doc

基于里程碑v1.0建立归档,并且为归档中文件添加目录前缀1.0。

$ git archive --format=tar --prefix=1.0/ v1.0 | gzip > foo-1.0.tar.gz



一些使用场景


1. 合并和冲突解决

      D---E test
     /
A---B---C---F master


a. 在master中执行 merge:

      D--------E
     /          \
A---B---C---F----G   test, master


b. 在master中执行 rebase:

A---B---D---E---C'---F'   test, master



c. 在master中执行 cherry-pick:

A---B---C---F---D'----E'  master


d.三方合并(Three-way merge)

100  --------101

   |

   |------102


1. 以父节点做为判断标准

2. 101,102 有不同的文件的改变,留下这些改变。

3. 101,102 有相同的文件的改变,

1)如果改变相同,留下这些改变。

2)如果改变不同,提示冲突让用户去解决。


2. 回滚

a 没有push到remote 仓库的回滚

git reset --hard commitid

b 已经push到remote仓库的回滚

git revert commitid

c.定位并回滚到引入bug的版本

git bisect start
git bisect bad
git bisect good commtid
git bisect bad
...
git bisect good
git bisect reset


3. 当前工作被打断

a 保存工作进度

git stash
git stash list
git stash apply stash@{2}

b 补充提交

git commit --amend 


4.挽救误操作

分支丢失

git reflog show


git 内部原理 及 .git 文件夹结构

git-stage 暂存区

git-checkout 检出

git-diff 对比差异

git-reset 重置

git-repos-detail 版本库

.git 文件夹结构





github使用 及使用github搭建免费博客





git 分享ppt git 学习分享 立即下载

相关推荐

香橙派5B-RK3588-NPU内核升级至0.9.8:RKLLM多模态部署实战

本文详细介绍了香橙派5B-RK3588设备NPU内核升级至0.9.8版本的完整流程,重点讲解了升级的必要性、两种升级方案(预编译包安装与自行编译内核)以及RKLLM SDK的安装配置。通过实战演示多模态模型转换与推理,显著提升AI计算性能,为嵌入式AI部署提供实用指南。

salt9的博客 1025

2017年Android百大框架排行榜

框架:提供一定能力的小段程序现在已经是2017年了,所以我写了一份《2017百大框架权威排行榜》,适合各个水平的开发工程师>本文已经开源到Github上,欢迎各位共同编辑、参与到榜单的建设中来>Github 地址原文链接:2017年Android百大框架排行榜 - 杨超凡_金诚先生 - 博客园一.榜单介绍排行榜包括四大类:单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框...

weixin_34301132的博客 2355

西工大noj100题python2024第三季21-30

【代码】西工大noj100题python2024第三季21-30。

weixin_70523540的博客 1576

Mybatis笔记

mybatis使用简单笔记

qq_45726643的博客 25万+

OpenClaw:深度学习驱动的智能编程工具实战解析

智能编程工具通过深度学习技术革新传统开发流程,其核心在于代码语义理解与实时协作能力。这类工具采用AI代码补全、错误预测等技术,显著降低开发者认知负荷,尤其适用于复杂业务逻辑开发和遗留系统维护场景。以OpenClaw为例,其智能填充和上下文感知功能可提升40%编码效率,减少65%调试时间。关键技术实现包含自然语言处理、代码静态分析等,在金融科技、电商系统等领域具有广泛应用前景。热词提示:代码理解引擎、智能工作流整合展现了当前AI辅助开发的最新趋势。

chubaisheng8627的博客 320

手持式激光测距仪全套方案

激光测距全套方案,包括原理图、源代码、PCB、BOM、光学部分资料,结构、特殊元件数据手册及供应商联系方式,提供调试技术文档。全套方案已成功打板验证,实现0.05~50m测量范围,精度在+/—1.5mm,激光波长635~650nm,功率《1mW。方案预留了TTL串口、RS485接口,可通过串口助手看到测量数据,可自行DIY或者商业开发。无论是电路小白,还是技术大拿,都能通过方案资料成功做出一套激光测距仪。

Laser01的博客 2055

Python Flask 模块

初识Flask Flask扩展应用扩展包

爱人BT的博客 1万+

用AI+Playwright实现零代码UI自动化测试:以登录页面为例的实战指南

本文详细介绍了如何利用AI与Playwright结合实现零代码UI自动化测试,特别以登录页面为例进行实战演示。通过自然语言描述生成测试脚本,大幅降低技术门槛,提升测试效率,并支持跨浏览器验证。适合非技术人员快速上手专业级自动化测试。

weixin_28842269的博客 401

git 高阶分享

1. 原理:对文件进行压缩,转换成blob存放2. 关联命令2.1.1. 用途:将文件内容添加到索引存放位置为.git/objects/2.1.2. 把文本文件压缩成blob2.1.3. 把二进制文件压缩成blob(压缩后的文件略大于源文件)用途:清理不必要的文件并优化本地存储。压缩后的文件如:.git/objects/pack/pack-xxxxx.pack作用:显示有关索引和工作树中文件的信息。(blob信息))

daidechao的博客 1973

吊打原版YOLOv8!ASF-YOLO多尺度融合+注意力机制实战解析(遥感/医疗/质检均适用)

ASF-YOLO融合YOLOv8的创新目标检测框架摘要 ASF-YOLO是针对小目标检测优化的先进框架,采用三重特征编码器和尺度序列融合技术增强多尺度特征提取能力。核心创新包括: 三重特征编码器(TPE)融合跨层级信息 尺度序列特征融合(SSFF)模块通过3D卷积处理多尺度信息 通道-位置注意力机制(CPAM)聚焦关键特征区域 Zoom_cat模块实现自适应多尺度特征融合 该框架特别适用于医学影像、遥感检测等小目标密集场景,通过动态特征权重调整显著提升检测精度。关键技术实现包含多尺度特征统一、3D卷积序列处

FJN110的博客 527

AUTOSAR进阶图解==>AUTOSAR_SWS_CANNetworkManagement

本文介绍了AUTOSAR架构中的CAN网络管理(CanNm)模块,主要内容包括: 模块概述:CanNm是协调CAN网络节点状态转换的基础组件,采用去中心化设计,通过周期性发送网络管理PDU保持网络活跃状态,支持网络唤醒、睡眠和部分网络功能。 架构设计:CanNm位于AUTOSAR中间层,连接上层通信管理器(ComM)和底层CAN接口(CanIf),包含状态管理、PDU处理和定时器管理等子组件。 状态机设计:定义了三种主要模式(总线睡眠、准备睡眠和网络模式)及其转换逻辑,网络模式又包含重复消息、正常操作和准备

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 2040

git安装分享,

不知到为什么git并不能再csdn上分享了,我在这里仅提供百度网盘的链接地址及提取码,用者自取。 链接:https://pan.baidu.com/s/1qOm3ne-WuLaiFBI12tgkeQ 提取码:7un3 ...

jaquechen的博客 161

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

jks212454的博客 420

git使用心得分享

本人从开始工作到现在一直使用的版本工具都是GIT;今天给一些初学者和不太了解的人分享一些常用的功能和技巧以及心得 我们从一步步开始做起,争取让每个人都能看完就能上手,并且明白怎么个回事! 第一步:创建版本库(秘钥已经生成) git init //该命令会在你的文件夹中生成一个.git文件,如果不是必须,则千万不用更改里面的东西 第二步:添加远程仓库 git remote ...

飞翔的博客 312

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

Git使用分享

而后面的 ~1 则表示回退到上一个版本,如果是 ~2 那就是回退到上一个版本的上一个版本,照此类推。这里面记录了我们版本的变化,最前面那一串黄色的数字就是每个版本的版本号。这下知道了版本号,我们就可以回退到之前的第二版了。提交到了暂存区,执行commit的时候才将暂存区的修改合并到当前的分支(分支的概念后面再说)。此时问题来了,假如我又想恢复我刚才的版本了,又该怎么办呢?Git安装好了,本地仓库也安装好了,下面看看它是怎么管理文件的。如果现在我后悔了,我想要让文件回退到上一个版本,应该怎么做呢?

ZY_cao_yang的博客 669

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Git 简易本地库建立以及分享

Git 简易本地库建立分享使用 为了在本地网络内分享自己的工作代码或者单纯是自己使用,建立一个本地的git仓库并在此基础上工作还是很方便的。 1)首先在你的代码内初始化一个自己git仓库 git init 2)然后将你的代码全部加入 git add . 3)之后加入一个commit 信息作为起点 git commit -s -m “Baseline” 至此一个自己的本地

L_zy的专栏 1659

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

AndroidStudio 中使用Git分享项目

前提条件 :  1. 安装 Git 客户端 下载链接  2. 有 GitHub 账号  3. 安装了AndroidStudio 1. 在AndroidStudio中新建一个项目(这个不能不知道吧!) 2. 设置: Settings -> Version Control -> Git , 设置git目录, 点击Test测试, 如果成功会有Success提示 3. 设置: Settri

ShiFengRiShang的博客 814

AndroidStudio 分享项目到 git

Android Studio 分享项目到 git有两种情况, 1 已经有了一个正在开发的项目 2 在git上面新建一个项目,然后··· 一、首先下载git,并安装 http://git-scm.com/downloads/ 二、在studio的File - Settings 中指定Git命令的路径,如图:       在Path to Git e

若水姑凉 1693

Git下载慢?试试我分享的

在下载Git时,许多用户可能会遇到速度缓慢的问题,尤其是在没有使用加速工具的情况下。本文提供了一个替代的下载链接,以帮助用户更快地获取Git安装包。通过访问提供的链接,用户可以绕过官网的慢速下载,直接从云存储服务中快速下载Git。这种方法尤其适用于那些对下载速度有较高要求的用户。

mmhh1024的博客 1099

git是什么?关于git学习分享

前言 经常听到git,gitee,github,对于小白无疑又是一个新的知识盲区。 git,就是一种版本控制系统。6个字,顾名思义,应该是可以思出来的。???? 比如:我的论文,使用这个系统可以自动记录文件的修改,这就是版本控制。 gitee,github是俩网站,用途一样一个国内一个国外的。比如,你的论文只在自己电脑存储,导师想要了解进度便可以通过远程访问。 道理就是这么个道理,接下来就可以正式进入git的学习了。 学习过程 关键4步: 安装git(本地), 注册gitee(远程),

Chailo的博客 268

idea开发的项目分享到git上

我也是第一次分享后,在这里留个记录,免得下次忘了怎么操作: 准备: ①git账号(自行百度) ②新建git仓库(用于等会传项目,git上一个项目就是一个仓库) idea项目分享到git操作步骤: 一、如下图操作 点ok后项目文件变红 二、idea内右键项目gti--add add完项目文件变绿 三、idea内右键项目Git--Commit Directory ...

slpling的博客 776

GIT基础命令分享

git使用分享 涉及到git的知识点太多,这里只记录了工作中经常使用的部分。 首先,安装git和小乌龟可视化工具,一直next即可 验证是否安装成功: 右键,查看是否有git bash 有这个界面代表安装成功,很容易安装,不多说 1)本地操作git git init#初始化本地仓库 2)提交代码到本地仓库 git add xxx.file #将xxx.file添加到暂存区 git commit -m "提交的具体信息" 3)创建并切换分支 git checkout -b base #创建并切换到bas

weixin_43904949的博客 215

git使用教程——Mob分享总结

git使用教程链接——http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1、集成mob的shareSDK流程 注册mob——>创建应用包名必须跟自己工程的一样——>获得对应应用的appkey——>集成自己需要分享的平台——>将文件拷贝到自己的工程——&gt...

书海拾贝专栏 697

Eclipse将项目以Git方式分享上传到码云gitee上

Eclipse将项目以Git方式分享上传到码云gitee上 一、准备工作 1、一个注册好的码云帐号 https://gitee.com/ 2、安装好的Eclipse (本示例用的版本 Neon 4.6.3 ,已经集成Git) 二、Eclipse 配置Git 相关帐号资料 1、路径: Window — Preferences — Team— Git — Configuration — User Settings — Add Entry — 如下图: a. user.email : “ 您的码云帐号” b. u

weixin_40211013的博客 945

常用git指令分享

paopao日常工作中常用的一些git指令和流程,好记性不如烂笔头,在此记录一下便于查找,也分享给大家。O(∩_∩)O 1.git查看操作指令类: git init本地文件夹新建git库 git remote add origin项目远程仓库地址 关联本地库与远程某个项目 git branch 查看当前分支 gitcheckout -b dev_new ...

paopaosama的博客 292
上一篇: android 抓数据包(基于mac os使用Charles 工具,此工具也适用于ios抓包)
下一篇: 常见的加密算法
javalive09
博客等级 码龄16年 43粉丝 281原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值