Cherry

将现有未提交的工作移至Git中的新分支

两盒软妹~` 提交于 2019-12-06 06:58:17
我开始了一项新功能的工作,经过一段时间的编码,我决定该功能应该在其自己的分支上。 如何将现有未提交的更改移至新分支并重置当前分支? 我想重置当前分支,同时保留新功能的现有工作。 #1楼 使用以下内容: git checkout -b <new-branch> 这将使您当前的分支保持不变,创建并签出新分支,并保留所有更改。 然后,您可以使用以下命令进行提交: git add <files> 并使用以下命令提交到您的新分支: git commit -m "<Brief description of this commit>" 工作目录中的更改和索引中暂存的更改尚不属于任何分支。 这将更改这些更改的终止位置。 您无需 重置 原始分支,它会保持原样。 <old-branch> 上的最后一次提交将保持不变。 因此,您 checkout -b 然后提交。 #2楼 或者: 将当前更改保存到临时存储区: $ git stash 基于此存储区创建一个新分支,然后切换到新分支: $ git stash branch <new-branch> stash@{0} 提示:使用Tab键可以减少键入存储名称的麻烦。 #3楼 如果提交,则还可以选择单个提交ID。 当我开始在master上工作时,我经常这样做,然后想在我的原点/之前创建一个本地分支。 git cherry-pick <commitID>

【Kubernetes社区之路】如何优雅的cherry-pick

断了今生、忘了曾经 提交于 2019-12-05 06:31:20
尽管Kubernetes拥有众多分支,但社区主要围绕在master分支进行开发。即便其他分支存在bug,通常也是先在master分支进行修复,然后再cherry-pick到其他分支。 软件开发不可避免的会出现bug,所以经常需要从master同步一些补丁到其他仍在维护的分支。而同步的手段可以有多种: 手动提交PR到其他分支; 自动提交PR到其他分支; 一般来说,自动提交的方式更普遍,它能把某个master已合入的PR自动cherry-pick到你指定的分支上,而手动提交只有在极少数情况下才会使用。通过本节的内容,希望能回答以下几个问题: 如何自动同步PR到其他分支? 自动同步帮我做了哪些事情? 什么时候需要手动提交? 来源: https://my.oschina.net/renhc/blog/3132564

工厂模式例子

隐身守侯 提交于 2019-12-05 04:01:34
interface Fruit{ public void eat(); } class Apple implements Fruit{ @Override public void eat() { System.out.println("吃苹果"); } } class Cherry implements Fruit{ @Override public void eat() { System.out.println("吃樱桃"); } } class Factory{ //工厂 public static Fruit getInstance(String className){ if ("apple".equals(className)){ return new Apple(); }else if ("cherry".equals(className)){ return new Cherry(); }else{ return null; } } } public class FactoryDemo { public static void main(String[] args){ Fruit f = Factory.getInstance(args[0]); f.eat(); } } 来源: https://www.cnblogs.com/LoveGdx/p/11904397

左右值无限分类实现算法

巧了我就是萌 提交于 2019-12-05 02:18:04
一、引言 产 品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常是关系型 数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在 关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下: 层级结构的数据保存在平面的数据库中基本上有两种常用设计方法: * 毗邻目录模式(adjacency list model) * 预排序遍历树算法(modified preorder tree traversal algorithm) 我不是计算机专业的,也没有学过什么数据结构的东西,所以这两个名字都是我自己按照字面的意思翻的,如果说错了还请多多指教。这两个东西听着好像很吓人,其实非常容易理解。 二、模型 这里我用一个简单食品目录作为我们的示例数据。 我们的数据结构是这样的,以下是代码: Food | |---Fruit | | | |---Red | | | | | |--Cherry | | | +---Yellow | | | +--Banana | +---Meat |--Beef +--Pork 复制代码 为了照顾那些英文一塌糊涂的PHP爱好者 Food : 食物 Fruit

双十一程序员剁手不完全指南

时光毁灭记忆、已成空白 提交于 2019-12-04 04:26:19
1. 前言 还有几小时又到双11剁手的时间了。作为程序员的你又剁手买了些什么呢?我们抛开个人特殊喜好不谈来盘点一下作为程序员应该具有的一些物件。 2. 笔记本 没错,首先一台高性能的笔记本。这就像厨师的炊锅一样,没有这个怎么产出。目前比较适合开发的高端一点笔记本 macbook pro ,thinkpad, xps。不过最近 Y9000 也挺火的。这个根据自己的经济条件和需求折腾就行了。 3. 机械键盘 如果说电脑对于程序员是炊锅,那么键盘就是我们的菜刀了。虽然双飞燕也能敲出优雅的代码,但是你要知道一个牛逼的厨师从来都是自带菜刀的。机械的手感更好而且更耐用。现在机械键盘种类很多各种轴都出来了,一定要认准 cherry 轴。什么绿轴、凯华轴虽然经济但是没有 cherry 轴好。其实机械键盘的价格一直很坚挺,双十一优惠不了太多的,轴的成本在那里。入门基本300多的,高端系列3000多的。同样看自己的需要跟经济实力。但是记着一定要选择适合自己的轴,打游戏多的黑轴,我个人茶轴用的多,切记办公室青轴不要用,太吵了!还有红轴,你如果有条件可以去线下的店里看一看感受一下。我自己开始入手了一把 499 的烈焰枪。后面停不下来了又搞了一个 IKBC 的 87键,都是入门款。花不了几个钱,不过千万不要败外设,不然你工资不够用的。 4. 桌椅 电脑桌也很重要,其实这个我不建议网购的

ES5中的this

你说的曾经没有我的故事 提交于 2019-12-03 07:20:18
参考资料: >>> this的指向 在 ES5 中,其实 this 的指向,始终坚持一个原理: this 永远指向最后调用它的那个对象 下面我们来看一个最简单的例子:(例子均来自参考资料中的经典例子) 例 1: var name = "windowsName"; function a() { var name = "Cherry"; console.log(this.name); // windowsName console.log("inner:" + this); // inner: Window } a(); console.log("outer:" + this) // outer: Window 这个相信大家都知道为什么 log 的是 windowsName,因为根据刚刚的那句话“ this 永远指向最后调用它的那个对象 ”,我们看最后调用 a 的地方 a(); ,前面没有调用的对象那么就是全局对象 window,这就相当于是 window.a() ; 注意,这里我们没有使用严格模式,如果使用严格模式的话,全局对象就是 undefined ,那么就会报错 Uncaught TypeError: Cannot read property 'name' of undefined 。 例 2: var name = "windowsName"; var a = { name:

将现有未提交的工作移至Git中的新分支

烂漫一生 提交于 2019-12-03 05:03:55
我开始了一项新功能的工作,经过一段时间的编码,我决定该功能应该在其自己的分支上。 如何将现有未提交的更改移至新分支并重置当前分支? 我想重置当前分支,同时保留新功能的现有工作。 #1楼 使用以下内容: git checkout -b <new-branch> 这将使您当前的分支保持不变,创建并签出新分支,并保留所有更改。 然后,您可以使用以下命令进行提交: git add <files> 并使用以下命令提交到您的新分支: git commit -m "<Brief description of this commit>" 工作目录中的更改和索引中暂存的更改尚不属于任何分支。 这将更改这些更改的终止位置。 您无需 重置 原始分支,它会保持原样。 <old-branch> 上的最后一次提交将保持不变。 因此,您 checkout -b 然后提交。 #2楼 或者: 将当前更改保存到临时存储区: $ git stash 基于此存储区创建一个新分支,然后切换到新分支: $ git stash branch <new-branch> stash@{0} 提示:使用Tab键可以减少键入存储名称的麻烦。 #3楼 如果提交,则还可以选择单个提交ID。 当我开始在master上工作时,我经常这样做,然后想在我的原点/之前创建一个本地分支。 git cherry-pick <commitID>

将现有未提交的工作移至Git中的新分支

这一生的挚爱 提交于 2019-12-03 04:52:29
我开始了一项新功能的工作,经过一段时间的编码,我决定该功能应该在其自己的分支上。 如何将现有未提交的更改移至新分支并重置当前分支? 我想重置当前分支,同时保留新功能的现有工作。 #1楼 使用以下内容: git checkout -b <new-branch> 这将使您当前的分支保持不变,创建并签出新分支,并保留所有更改。 然后,您可以使用以下命令进行提交: git add <files> 并使用以下命令提交到您的新分支: git commit -m "<Brief description of this commit>" 工作目录中的更改和索引中暂存的更改尚不属于任何分支。 这将更改这些更改的终止位置。 您无需 重置 原始分支,它会保持原样。 <old-branch> 上的最后一次提交将保持不变。 因此,您 checkout -b 然后提交。 #2楼 或者: 将当前更改保存到临时存储区: $ git stash 基于此存储区创建一个新分支,然后切换到新分支: $ git stash branch <new-branch> stash@{0} 提示:使用Tab键可以减少键入存储名称的麻烦。 #3楼 如果提交,则还可以选择单个提交ID。 当我开始在master上工作时,我经常这样做,然后想在我的原点/之前创建一个本地分支。 git cherry-pick <commitID>

Git cherry-pick syntax and merge branches

匿名 (未验证) 提交于 2019-12-03 02:45:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: So I have done countless cherry picks before and it seems that I must fail at life with this right now, I am trying to cherry pick from one branch to another which should be easy, how ever I get an error about it being a merge but not -m was given? $ git cherry-pick a8c5ad438f6173dc34f6ec45bddcef2ab23285e0 error: Commit a8c5ad438f6173dc34f6ec45bddcef2ab23285e0 is a merge but no -m option was given. fatal: cherry-pick failed That looks wrong.......it should be: $ git cherry-pick a8c5ad438f6173dc34f6ec45bddcef2ab23285e0 Since when do I have to