Git 中上下文切换的 4 种方式 (linux.cn)

【简介】

比较 Git 中四种切换分支的方法的优缺点。


所有大量使用 Git 的人都会用到某种形式的上下文切换。有时这只会给你的工作流程增加少量的开销,但有时,这可能是一段痛苦的经历。
让我们用以下这个例子来讨论一些常见的上下文切换策略的优缺点:

假设你在一个名为feature-X的分支中工作。你刚刚发现你需要解决一个无关的问题。这不能在feature-X分支中完成。你需要在一个新的分支feature-Y中完成这项工作。

方案 1:暂存 + 分支
解决此问题最常见的工作流程可能如下所示:

停止分支feature-X上的工作
git stash
git checkout -b feature-Y origin/main
一顿鼓捣,解决feature-Y的问题
git checkout feature-X或git switch -
git stash pop
继续在feature-X中工作

点击查看原文 >>

@技术头条 2021-05-26 22:33 / 原作者微博:@Linux中国 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
以非阻塞方式执行一个函数 (blog.codingnow.com)
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。

如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。

那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
by @技术头条 2024-03-13 13:20 查看详情
如何为 Git 配置多个 SSH Key (blog.yuanpei.me)
相信大家都会遇到这种场景,即一台电脑上同时存在多个 Git 账号的情况。譬如,公司的项目使用 Gitlab 托管,而个人的项目使用 Github 托管,更不必说,云效、Gitee、码云、Coding 等形形色色的平台。在这种情况下,你需要为每个代码托管平台生成 SSH Key,然后将其对应的公钥复制到指定的位置。所以,如何让这些不同托管平台的 SSH Key 和平共处、互不影响呢?这就是今天这篇文章想要分享的冷知识。当然,对博主个人而言,最主要的目的,还是希望能将公司和个人两个身份区分开来,所以,下面以 Github 和 Gitlab 为例来展示具体的配置过程。
by @技术头条 2024-03-12 22:28 查看详情
如何利用「深度上下文兴趣网络」提升点击率? (tech.meituan.com)
美团到店广告平台在用户行为序列建模算法的迭代落地中,基于对业务实际场景中用户决策心智的观察,创新性地提出了深度上下文兴趣网络,精确建模了用户的兴趣,提升了CTR等线上业务指标。本文介绍了相应算法背后的动机、建模方法以及工程优化,希望能为从事相关工作的同学带来一些启发或帮助。
by @技术头条 2023-11-29 23:40 查看详情
使用 GPG 对 Git commit/tag 进行签名 (mingming.wang)
为什么要签名
GPG 可以对 Git commit 或 tag 进行签名,其它用户可以知道这个 commit 来源可信,也就是作者本人提交的代码。
by @幸运小懒人 2023-09-22 11:30 查看详情
Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移 (mazhuang.org)
首先思考一个问题:如果 Dubbo 应用使用 ZooKeeper 作为注册中心,现在需要切换到新的 ZooKeeper 实例,如何做到流量无损?

本文提供解决这个问题的一种方案。
by @技术头条 2023-09-10 23:30 查看详情
使用 SQL 的方式查询消息队列数据以及踩坑指南 (crossoverjie.top)
为了让业务团队可以更好的跟踪自己消息的生产和消费状态,需要一个类似于表格视图的消息列表,用户可以直观的看到发送的消息;同时点击详情后也能查到消息的整个轨迹。
by @技术头条 2023-09-10 23:23 查看详情
优雅的处理Git多帐号与代理问题 (www.iots.vip)
  在工作中,常常会容易遇到一台电脑用多个 Git 账号的场景,比如账号 company 账号是工作用的,而账号 personal 是自己个人用的。 由于 Git 本身并没有多账号的机制,导致我们在默认设置下无法很好的区分哪个仓库使用哪个账号。 同时,在某些众所周知的场景下,我们无法直接访问到 Github 仓库,需要走一层 proxy 来加速我们的代码拉取与推送速度, 本文将使用 SSH config 相对优雅的解决这些问题。
by @技术头条 2023-08-18 23:09 查看详情
专为技术写作人员提供的 7 条 Git 技巧 (linux.cn)
Git 帮助我跟踪内容的版本,并与开源社区进行协作。它是我存储工作成果、共享和讨论改进的重要工具。我主要使用的工具包括浏览器、用 OpenSSH 连接 Foreman 实例、用 Vim 编辑源文件,以及使用 Git 进行版本控制。

本文重点介绍在开始使用 Git 和为 Foreman 文档做贡献时经常遇到的挑战。适用于中级 Git 用户。
by @技术头条 2023-07-30 17:35 查看详情
实现 go 的 goroutine 本地存储又一种方式 (xiezhenye.com)
go 本身没有对外提供 goroutine 本地存储,而现实中,又经常需要在上下文中传递一些数据。使用 context 也是一种方式,但是要求在所有需要的地方都要传递,还是非常麻烦,而且有侵入性。
偶然发现 go 已经提供了一个用于 profile 的 pprof label,可以在 goroutine 中携带一些数据。不过这个东西既然是用于 pprof 的,随意往里塞太多东西显然也不适合,还会对 pprof 产生干扰。所以,想办法只用其中一个 label,用一些黑科技把一个 map 放了进去,将影响降到最小。同时,pprof 包中已经有一些基于 context 访问处理 label 的逻辑,所以还要做一些兼容处理,避免被其覆盖。
by @技术头条 2023-07-04 23:07 查看详情
Nginx实现http和https复用1个端口的2种解决方式 (hugo.111520.xyz)
本文介绍在无法使用80,443标准端口情况下,通过Nginx复用1个端口实现访问http和https的两种方式。
by @技术头条 2023-06-24 23:21 查看详情