如果你觉得 Git 很迷惑人,那么这份小抄正是为你准备的!

作者 |Maxence Poutord

责编 | Carol

来源 | 漫话编程

封图 | CSDN付费下载于视觉中国

如果你觉得 git 很迷惑人,那么这份小抄正是为你准备的!请注意我有意跳过了 git commitgit pull/push 之类的基本命令,这份小抄的主题是 git 的一些「高级」用法。



导航 —— 跳到之前的分支

git checkout -

查看历史

# 每个提交在一行内显示
git log --oneline# 在所有提交日志中搜索包含「homepage」的提交
git log --all --grep='homepage'# 获取某人的提交日志
git log --author="Maxence"

哎呀:之前重置了一个不想保留的提交,但是现在又想要回滚?

# 获取所有操作历史
git reflog# 重置到相应提交
git reset HEAD@{4}
# ……或者……
git reset --hard <提交的哈希值>

哎哟:我把本地仓库搞得一团糟,应该怎么清理?

git fetch origin
git checkout master
git reset --hard origin/master

查看我的分支和 master 的不同

git diff master..my-branch

定制提交

# 编辑上次提交
git commit --amend -m "更好的提交日志"# 在上次提交中附加一些内容,保持提交日志不变git add . && git commit --amend --no-edit# 空提交 —— 可以用来重新触发 CI 构建
git commit --allow-empty -m "chore: re-trigger build"

squash 提交

比方说我想要 rebase 最近 3 个提交:

- git rebase -i HEAD~3
- 保留第一行的 pick,剩余提交替换为 squash 或 s
- 清理提交日志并保存(vi 编辑器中键入 :wq 即可保存)

pick 64d26a1 feat: add index.js
s 45f0259 fix: update index.js
s 8b15b0a fix: typo in index.js

修正

比方说想在提交 fed14a4c 加上一些内容。

git 提交分支

git add .
git commit --fixup HEAD~1
# 或者也可以用提交的哈希值(fed14a4c)替换 HEAD~1git rebase -i HEAD~3 --autosquash
# 保存并退出文件(VI 中输入 `:wq`)

rebase 的时候在每个提交上执行命令

如果特性很多,一个分支里可能有多个提交。如果测试失败了,你希望能找到导致测试失败的提交。这时候你可以使用 rebase --exec 命令在每个提交上执行命令。

# 在最近 3 个提交上运行 `npm test` 命令
git rebase HEAD~3 --exec "npm test"

暂存

暂存不止是 git stash 和 git stash pop ;)

# 保存所有正在追踪的文件
git stash save "日志信息"# 列出所有的暂存项
git stash list# 获取并删除暂存项
git stash apply stash@{1}
git stash drop stash@{1}
# ……或使用一条命令……
git stash pop stash@{1}

清理

# 移除远程仓库上不存在的分支
git fetch -p# 移除所有包含 `greenkeeper` 的分支
git fetch -p && git branch --remote | fgrep greenkeeper | sed 's/^.\{9\}//' | xargs git push origin --delete

GitHub = Git + Hub

我把 Hub 当成 git 的一个封装来用。你如果也想这么做,可以设置一个别名:alias git='hub'

# 打开浏览器访问仓库 url(仅限 GitHub 仓库)git browse

额外福利:我最喜爱的 git 别名

alias g='git'
alias glog='git log --oneline --decorate --graph'
alias gst='git status'
alias gp='git push'
alias ga='git add'alias gc='git commit -v'# ????
alias yolo='git push --force'# 每周站会汇报工作时用
git-standup() {AUTHOR=${AUTHOR:="`git config user.name`"}since=yesterdayif [[ $(date +%u) == 1 ]] ; thensince="2 days ago"figit log --all --since "$since" --oneline --author="$AUTHOR"
}

在全民抗疫的特殊时期下,在人员复杂、流动量大地方的出入口处都设置了无接触式无感红外人体测温系统。

在这次疫情防控中,无感人体测温系统发挥了怎样的作用?高精准的无感人体测温系统的核心技术武器是什么?对于开发者们来说,大家应该了解哪些技术?

明晚7点《多场景疫情防控:解读云边端联动下的全栈 AI 技术应用》

推荐阅读:什么是 CD 管道?一文告诉你如何借助Kubernetes、Ansible和Jenkins创建CD管道!
淘宝千万级并发架构的十四次演进
独家揭秘阿里自研飞天操作系统洛神平台如何支撑起 2684 亿全球大促!| 问底中国 IT 技术演进
GitHub 一周热点速览:手撕 LeetCode 一日 star 破两千
6个步骤,告诉你如何用树莓派和机器学习DIY一个车牌识别器!(附详细分析)
智能合约初探:概念与演变
真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 16 登陆,那些年我们一起养过的电子鸡登陆Android平台

看到下面的图片大家有没有眼前一亮的感觉&#xff0c;这不就是我们那些年一起养过电子鸡(电子宠物)嘛&#xff0c;或许现在的孩子们看来根本没什么可玩的&#xff0c;与iPad&#xff0c;PSP,3DS什么的没法比呀。可就是这个简单的玩具却带给了曾经的我们无穷的乐趣&#xff0c;甚…

Apache Cassandra 在 Facebook 的应用

谁说 Facebook 弃用 Cassandra&#xff1f;相反 Facebook 拥有全世界最大的单个 Cassandra 集群部署&#xff0c;而且他们对 Cassandra 做了很多性能优化&#xff0c;包括 Cassandra on RocksDB 以提升 Cassandra 的响应时间。 在 Instagram &#xff08;Instagram是Facebook公…

AI战“疫“之路:​揭秘高精准无感测温系统的全栈AI 技术

在这个全民抗疫的特殊时期&#xff0c;今年的春节返潮来得比往年迟了许多。如今不少企业结束了远程办公&#xff0c;开始陆续复工&#xff0c;一时间&#xff0c;无论是重点防控的机场、火车站&#xff0c;还是学校、企业、社区等密集型场所&#xff0c;都安排了密集的防疫驻扎…

android翻盘效果,行情艰难,Android初中级面试题助你逆风翻盘,每题都有详细答案...

码个蛋(codeegg) 第 905 次推文作者&#xff1a;夜猫少年链接&#xff1a;https://juejin.im/post/5c8211fee51d453a136e36b0Activity篇1、说下Activity生命周期 &#xff1f;参考解答&#xff1a;在正常情况下&#xff0c;Activity的常用生命周期就只有如下7个onCreate()&…

蚂蚁金服开源的机器学习工具 SQLFlow,有何特别之处?

近日&#xff0c;蚂蚁金服副 CTO 胡喜正式宣布开源机器学习工具 SQLFlow&#xff0c;他在大会演讲中表示&#xff1a;“未来三年&#xff0c;AI 能力会成为每一位技术人员的基本能力。我们希望通过开源 SQLFlow&#xff0c;降低人工智能应用的技术门槛&#xff0c;让技术人员调…

阿里云Kubernetes服务上从零搭建GitLab+Jenkins+GitOps应用发布模型的实践全纪录

关于GitOps的介绍&#xff0c;可以参考 GitOps:Kubernetes多集群环境下的高效CICD实践 1. 在 容器服务控制台 创建kubernetes集群 1.1 新建Kubernetes集群&#xff1a; 1.2 新建命名空间gitops 我们将会把gitlab和jenkins全部部署到此命名空间下 2. 创建GitLab应用 &#x…

炸了!看到抖音上Python程序员晒得工资条,我沉默了......

Python上抖音热搜了&#xff1f;作为短视频爱好者,最近刷到了一个Python工程师的工资条&#xff1a;看完后&#xff0c;我相信大家和我一样&#xff0c;what&#xff0c;Python这么时候值钱了&#xff1f;今天就把真实市场环境给揭开&#xff01;Python岗位大厂30K起&#xff1…

Pandas时序数据处理入门

作为一个几乎每天与时间序列数据打交道的人员&#xff0c;我发现panda Python包在时间序列的操作和分析方面有强大优势。 这篇关于panda时间序列数据处理的基本介绍可以带你入门时间序列分析。本文将主要介绍以下操作: 创建一个日期范围处理时间戳数据将字符串数据转换为时间…

linux shell脚本关闭指定端口号的进程

关闭指定进程中关键词的进程&#xff0c;最好找一个唯一标识 例如&#xff1a;项目名称 等等 文章目录一、管道方式1. 关闭指定程序进程号2. 关闭指定端口号的进程(推荐使用)3. 关闭指定进程关键词的进程(推荐使用)4. 操作记录5. 知识补充二、jps方式2.1. 使用场景说明2.2. 不同…

6 个步骤,教你在Ubuntu虚拟机环境下,用Docker自带的DNS配置Hadoop | 附代码

作者 | tianyouououou责编 | Carol来源 | CSDN 博客封图 | CSDN付费下载于视觉中国最近&#xff0c;作者整理了一套Hadoop搭建方案。最后的镜像大小1.4G多&#xff0c;使用docker子网&#xff0c;容器重新启动不需要重新配置/etc/hosts文件。配置过程中参考了如下博客&#xff…

开发函数计算的正确姿势——支持 ES6 语法和 webpack 压缩

首先介绍下在本文出现的几个比较重要的概念&#xff1a; 函数计算&#xff08;Function Compute&#xff09;: 函数计算是一个事件驱动的服务&#xff0c;通过函数计算&#xff0c;用户无需管理服务器等运行情况&#xff0c;只需编写代码并上传。函数计算准备计算资源&#xff…

邮件格式转换html,HTML邮件模板 - lenglingx的个人页面 - OSCHINA - 中文开源技术交流社区...

邮件要求兼容 outlook 等邮箱软件&#xff0c;发现很多样式都不生效。找到的模板如下&#xff1a;尊敬的开发者&#xff1a;                         “xxx”在此次的‘网络友好度测试’评级&#xff1a;4颗星(最高5颗星)。注意点不支持头部style、外…

Apache Cassandra 数据存储模型

我们在《Apache Cassandra 简介》文章中介绍了 Cassandra 的数据模型类似于 Google 的 Bigtable&#xff0c;对应的开源实现为 Apache HBase&#xff0c;而且我们在 《HBase基本知识介绍及典型案例分析》 文章中简单介绍了 Apache HBase 的数据模型。按照这个思路&#xff0c;A…

解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL

use mysql; select host,user from user; update user set host% where userroot; flush privileges;

Knative Eventing 中 Channel 如何注入默认 Provisioner

场景 通常的在创建Broker时&#xff0c;我们需要通过 spec.ChannelTemplate 指定使用某个具体的 Channel Provisioner。例如这样的Broker: apiVersion: eventing.knative.dev/v1alpha1 kind: Broker metadata:name: pubsub-channel spec:channelTemplate:provisioner:apiVers…

删库跑路事件发生,SaaS云服务如何守护数据安全

作者 | 蒋敏峰责编 | Carol封图 | CSDN付费下载于视觉中国近日&#xff0c;某SaaS服务商/微盟遭遇员工删库跑路&#xff0c;服务器出现大面积故障&#xff0c;一时间让平台上的几百万家商户生意基本停摆。这一事件发生后&#xff0c;不管是厂商还是平台上的用户&#xff0c;都在…

express模板引擎 html,Express使用html模板的代码分析

&#xfeff;express默认使用jade模板&#xff0c;可以配置让其支持使用ejs或html模板。1.安装ejs在项目根目录安装ejs.npminstallejs2、引入ejsvarejsrequire(ejs);//我是新引入的ejs插件3、设置html引擎app.engine(html,ejs.__express);设置视图引擎app.set(viewengine,html)…

记一次吐血的ping: unknown host

背景&#xff1a; 某客户的ECS&#xff0c;ping域名提示unknown host&#xff0c;ping ip则可以通&#xff0c;ping的时候抓包没有解析的包出去&#xff0c;是解析的问题吗&#xff1f;1&#xff0c;测试ping域名以及抓包发现没有dns的解析包出去 # ping www.baidu.com -c 1 p…

Nacos Committer 张龙:Nacos Sync 的设计原理和规划

与你同行&#xff0c;抬头便是星空。 本文整理自Nacos Committer 张龙的现场分享&#xff0c;阿里巴巴中间件受权发布。 随着 Nacos 1.0.0 稳定版的发布&#xff0c;越来越多的企业开始在测试/预演/生产环境中逐步部署 Nacos。目前&#xff0c;除了部分企业已处于转型分布式架…

Linux 会成为主流桌面操作系统吗?

整理 | 屠敏出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;2020 年 1 月 14 日&#xff0c;微软正式停止了 Windows 7 系统的扩展支持&#xff0c;这意味着服役十年的 Windows 7&#xff0c;属于它的时代真的终结了&#xff0c;说不出的再见&#xff0c;只能怀恋。…