小编Rob*_*een的帖子

拉动后将已提交(但未推送)的更改移动到新分支

我已经完成了相当多的工作("你的分支在37次提交之前超过了'origin/master'.")这真的应该进入它自己的分支而不是进入master.这些提交只存在于我的本地机器上,并没有被推到origin,但情况有点复杂,因为其他开发人员一直在推动origin/master,我已经撤消了这些更改.

如何追溯将我的37个本地提交移动到新分支?根据文档,似乎git rebase --onto my-new-branch master...origin/master应该这样做,但两者都只是给我错误"致命:需要单一修订". man git-rebase没有提供修改,rebase并且其示例没有这样做,所以我不知道如何解决此错误.

(请注意,这不是将现有的,未完成的工作移动到Git中的新分支如何将我的本地未提交的更改合并到另一个Git分支中的重复因为这些问题涉及本地工作树中未提交的更改,而不是具有的更改已在当地承诺.)

git

420
推荐指数
7
解决办法
14万
查看次数

如何移动某些提交基于git中的另一个分支?

情况:

  • 主人在X.
  • quickfix1是在X + 2提交

这样:

o-o-X (master HEAD)
     \
      q1a--q1b (quickfix1 HEAD)
Run Code Online (Sandbox Code Playgroud)

然后我开始研究quickfix2,但不小心将quickfix1作为源分支进行复制,而不是master.现在quickfix2处于X + 2提交+ 2相关提交.

o-o-X (master HEAD)
     \
      q1a--q1b (quickfix1 HEAD)
              \
               q2a--q2b (quickfix2 HEAD)
Run Code Online (Sandbox Code Playgroud)

现在我希望有一个quickfix2分支,但没有属于quickfix1的2次提交.

      q2a'--q2b' (quickfix2 HEAD)
     /
o-o-X (master HEAD)
     \ 
      q1a--q1b (quickfix1 HEAD)
Run Code Online (Sandbox Code Playgroud)

我尝试从quickfix2中的某个修订版创建补丁,但补丁不保留提交历史记录.有没有办法保存我的提交历史记录,但有一个分支没有更改quickfix1?

git patch commit

367
推荐指数
4
解决办法
20万
查看次数

State,ST,IORef和MVar之间的区别

我正在通过48小时为自己编写一个方案(我大约85小时)而且我已经完成了关于添加变量和赋值的部分.本章中有一个很大的概念性跳跃,我希望它分两步完成,两者之间有很好的重构,而不是直接跳到最终的解决方案.无论如何…

我已经得到了一些不同类的,似乎达到相同的目的失去了:State,ST,IORef,和MVar.文本中提到了前三个,而最后三个似乎是许多关于前三个问题的StackOverflow问题的最佳答案.它们似乎在连续调用之间都处于状态.

这些是什么以及它们如何彼此不同?


特别是这些句子没有意义:

相反,我们使用一个名为状态线程的功能,让Haskell为我们管理聚合状态.这使我们可以像在任何其他编程语言中一样处理可变变量,使用函数来获取或设置变量.

IORef模块允许您在IO monad中使用有状态变量.

所有这一切都使这条线路type ENV = IORef [(String, IORef LispVal)]混乱 - 为什么第二个IORef呢?如果我写的话会破坏什么type ENV = State [(String, LispVal)]

variables monads haskell state-monad ioref

87
推荐指数
3
解决办法
1万
查看次数

假人的递归方案?

我正在寻找一些非常简单,易于掌握的递归方案和核心运动方案(catamorphisms,anorporphisms,hylomorphisms等)的解释,这些解释不需要跟随大量的链接,或者打开类别理论教科书.我确信我已经无意识地重新设计了许多这些方案,并在编码过程中将它们"应用"在我的头脑中(我相信我们很多人都有),但我不知道(共同)递归方案我是什么使用被称为.(好吧,我撒了谎.我刚刚读了一些这些,这引发了这个问题.但在今天之前,我一无所知.)

我认为这些概念在编程社区中的传播受到了令人生畏的解释和例子的阻碍 - 例如在维基百科上,而且在其他地方.

它们的名字也可能受到阻碍.我认为有一些替代的,较少的数学名称(关于香蕉和带刺铁丝网的东西?)但是我不知道我使用的递归方案的名称是什么.

我认为使用表示简单实际问题的数据类型的示例,而不是抽象数据类型(如二叉树)会有所帮助.

recursion haskell functional-programming recursion-schemes

82
推荐指数
3
解决办法
6815
查看次数

用于分析大型Java堆转储的工具

我有一个我想分析的HotSpot JVM堆转储.VM运行时-Xmx31g,堆转储文件大48 GB.

  • 我甚至不会尝试jhat,因为它需要大约五倍的堆内存(在我的情况下将是240 GB)并且非常慢.
  • Eclipse MAT ArrayIndexOutOfBoundsException在分析堆转储几个小时后崩溃.

还有哪些其他工具可用于该任务?一套命令行工具是最好的,包括一个程序,它将堆转储转换为高效的数据结构进行分析,并与其他几个处理预结构化数据的工具相结合.

java profiling

73
推荐指数
5
解决办法
7万
查看次数

什么时候可以使用IORef?

让我困惑的一件事是,是否可以使用IORef.在决定是否使用IORef执行任务时是否应遵循任何指导原则?什么时候是使用州立大学的好时机而不是IORef?

monads state haskell ioref

62
推荐指数
2
解决办法
9565
查看次数

为什么不能证明程序?

为什么计算机程序不能像数学陈述那样被证明?一个数学证明是建立在其他证明之上的,这些证据是从更多的证据和公理中建立起来的 - 我们认为这些真理是真实的.

计算机程序似乎没有这样的结构.如果您编写计算机程序,那么您如何能够获取以前经过验证的作品并使用它们来展示您的计划的真实性?你不能存在.此外,编程的公理是什么?这个领域的原子真理?

我对上面的内容没有很好的答案.但似乎软件无法被证明,因为它是艺术,而不是科学.你如何证明毕加索?

theory math formal-verification proof axiom

58
推荐指数
8
解决办法
1万
查看次数

如何从java中的任何网页下载图像

嗨,我试图从网页下载图像.我想从'http://www.yahoo.com'主页下载图像.请告诉我如何通过'http://www.yahoo.com'作为输入.在打开此网页时,如何从此页面获取图像.请给我java代码从网页上获取图片.

html java download

57
推荐指数
5
解决办法
15万
查看次数

git责备emacs中的提交详细信息

从emacs,我怎样才能看到最后一次更改该行的提交的详细信息(例如提交消息)?

我安装了magit.

git emacs magit

57
推荐指数
2
解决办法
1万
查看次数

为什么JVM完整GC需要停止世界?

我被问到这个问题,我刚回答"因为JVM需要移动对象",但后来我用Google搜索,似乎找不到任何合理的答案.

garbage-collection jvm

51
推荐指数
2
解决办法
3万
查看次数