小编Mal*_*lio的帖子

我如何"git blame"删除了一行?

git blame非常适合修改和添加的行,但是如何最终删除特定先前提交中存在的行.我在想,bisect但我希望有更方便的东西.

[在你问之前:在这种情况下,我只是做了一个git log -p并搜索了代码行和(a)一些白痴刚刚删除了前一次提交中的重要行和(b)我是那个白痴]

git

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

无法获得$ rootScope

以下文件"有效"(它不会抛出任何错误):

<!doctype html>
<html ng-app="modx">
    <script src="http://code.angularjs.org/angular-1.0.0rc7.js"></script> 
    <script>
        angular.module("modx", [], function($routeProvider) {
        });
    </script>
</html>
Run Code Online (Sandbox Code Playgroud)

但是这个

<!doctype html>
<html ng-app="modx">
    <script src="http://code.angularjs.org/angular-1.0.0rc7.js"></script>
    <script>
        angular.module("modx", [], function($routeProvider, $rootScope) {
        });
    </script>
</html>
Run Code Online (Sandbox Code Playgroud)

给出错误:

错误:未知提供者:来自modx的$ rootScope
源文件:http
://code.angularjs.org/angular-1.0.0rc7.js行:2491

WTF?

angularjs

161
推荐指数
2
解决办法
11万
查看次数

我可以从git-diff获得与补丁兼容的输出吗?

我正在做一些非常简单的错误.我正在尝试准备一个普通的补丁文件,所以我可以重新应用一些更改:

$ git diff > before
$ git diff something_here > save.patch
$ git checkout . 
$ patch < save.patch
$ git diff > after
$ diff before after
$
Run Code Online (Sandbox Code Playgroud)

something_here 空白几乎工作,但文件名是不正确的.我想我只是缺少一些选择.

在现实生活中,我会在结账后进行合并,因此补丁可能会在那里失败,但你会看到我得到的东西.

编辑 我的错在这里提出错误的问题.实际的问题是,我想保存我的更改,进行合并,然后重新应用更改,如果可能的话?我问错了方法,因为我习惯使用补丁来解决这些问题,git diff看起来就像是我想要的那样.

Charles Bailey的评论得到了正确答案.对我来说,git-apply是正确的事情(git-stash看起来比我需要的更重,并且变调和捆绑肯定超出了我目前的技能水平.)我将接受Charles给出的答案(因为你不能接受评论).感谢所有的建议.

编辑,6年后 任何熟悉该主题的人都知道,我高估了难度git stash.几乎每天都有,我将使用以下顺序:

$ git stash
$ git merge
$ git stash pop
Run Code Online (Sandbox Code Playgroud)

git

151
推荐指数
5
解决办法
10万
查看次数

=>,()=>和Unit =>之间的区别是什么

我试图表示一个不带参数的函数并且不返回任何值(我在JavaScript中模拟setTimeout函数,如果你必须知道的话.)

case class Scheduled(time : Int, callback :  => Unit)
Run Code Online (Sandbox Code Playgroud)

不编译,说"`val'参数可能不是按名称调用"

case class Scheduled(time : Int, callback :  () => Unit)  
Run Code Online (Sandbox Code Playgroud)

编译,但必须奇怪地调用,而不是

Scheduled(40, { println("x") } )
Run Code Online (Sandbox Code Playgroud)

我必须这样做

Scheduled(40, { () => println("x") } )      
Run Code Online (Sandbox Code Playgroud)

什么也有效

class Scheduled(time : Int, callback :  Unit => Unit)
Run Code Online (Sandbox Code Playgroud)

但是以一种更加明智的方式被引用

 Scheduled(40, { x : Unit => println("x") } )
Run Code Online (Sandbox Code Playgroud)

(Unit类型的变量是什么?)我当然想要的是一个构造函数,如果它是一个普通的函数,它可以调用我调用它的方式:

 Scheduled(40, println("x") )
Run Code Online (Sandbox Code Playgroud)

给宝宝他的瓶子!

scala

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

如何使用Yum安装Maven?

我试图不了解 yum或maven.我继承了这段代码,我不想在这种环境中花费更多的时间.

我有百胜.我的安装"有"("也附加"?"知道"?)两个回购:亚马逊和JPackage,我理解这是一个标准.(实际上,每个存储库都包含两个子存储库,但我不认为这会导致问题.)

当我让yum安装maven2时,它拒绝了,说它从未听说过maven2.

当我要求yum安装maven2 忽略亚马逊时,它会这样做,但它会安装Maven 2.0.9,这是相当陈旧的.我的实际pom.xml需要更高版本.

当我使用Google for Maven存储库时,我会获得Maven可以用来构建其他东西的存储库,而不是Yum可以用来安装Maven的存储库.(我确实找到了一个包含让Maven构建Yum的东西的存储库.我认为谷歌此时正在嘲笑我.)

因此,我需要的是repo 文件,它指向包含我需要安装Maven 2.2.1的任何内容的repo.

如果不是所有这些省力的设备,我可能会完成一些工作.

maven-2 yum

130
推荐指数
7
解决办法
20万
查看次数

斯卡拉给我"非法开始定义"

我正在尝试开始使用Scala并且无法离开起跑门.

由该行组成的文件

package x
Run Code Online (Sandbox Code Playgroud)

给我

错误:非法启动定义

无论x是什么,无论我把文件放在哪里(我有一个理论,我必须将文件放在目录层次结构中以匹配包定义,但没有).我从网站和REPL的示例代码中得到了同样的错误.

scala

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

如何生成随机数列表?

这可能是史上最不重要的Scala问题,但这让我感到困扰.我如何生成n个随机数列表.到目前为止我所拥有的:

def n_rands(n : Int) = {
 val r = new scala.util.Random
 1 to n map { _ => r.nextInt(100) } 
}
Run Code Online (Sandbox Code Playgroud)

哪个有效,但对我来说看起来不太明显.我愿意接受建议.

编辑

并不是因为它的相关性非常重要而且回想起来很明显,以下看起来很有效:

1 to 20 map r.nextInt
Run Code Online (Sandbox Code Playgroud)

但是返回列表中每个条目的索引也是最后一个条目的上限.第一个数字必须小于1,第二个数字必须小于2,依此类推.我跑了三四次,注意到"嗯,结果总是从0开始..."

scala

55
推荐指数
3
解决办法
4万
查看次数

撤消糟糕的拉力

首先,Git很糟糕.我知道,我知道,它应该是自切片面包以来最好的东西,但它很糟糕.这就像试图用电锯刮胡子:一个轻微的错误,到处都是鲜血和牙齿.也许,如果我能真正区分头部,参考,提交,分支,干,gnargel和whizpoo,其中一些可能会更容易,但对于只有10年的普通凡人SVN,Perforce和RCS的体验,看起来都像是一个相当暴躁的黑魔法.

现在由于某种原因,git pull从来没有为我工作过.到目前为止,我收到的10行错误消息与"错误"一词一样有用.谷歌搜索错误信息产生了一系列的建议,这些建议只有共同点,即他们没有任何明显的影响.但这不是今天的问题:我已经习惯了打字git pull origin branch.

今天,我在两个分店之间来回徘徊,"主人"和"休息室",此刻我在主分店.我想从远程存储库获取最新的更改到本地更改,但我输入错误.git pull origin master我写了git pull origin lounge,而不是写,然后,不假思索地输入正确的命令.

没有证据表明第一个(坏)拉入日志,只有两个来自主服务器的合并:

commit 0c6be9569bab0581244ea8603bf2edfee82cdd7b
Merge: 43fdec5... db09f0d...
Author: Malvolio <info@xcompanyx.com>
Date:   Wed Nov 24 20:38:58 2010 -0500

Merge branch 'master' of github.com:xcompanyx/xRepositoryX

commit db09f0d79d744d6a354142041b47ff5d748999f3
Merge: 81b6c3d... fc73e25...
Author: Malvolio <info@xcompanyx.com>
Date:   Wed Nov 24 17:38:16 2010 -0800

Merge branch 'master' of github.com:xcompanyx/xRepositoryX

commit 81b6c3d04b7c464f8750a56282635526a5ef83a1
Author: Michael <info@xcompanyx.com>
Date:   Wed Nov 24 17:38:07 2010 -0800
    the last commit I did
Run Code Online (Sandbox Code Playgroud)

但是在休息室分支中新创建的文件存放在我的存储库中. …

git

46
推荐指数
2
解决办法
8277
查看次数

多种自我类型可能吗?

我想做以下,但自我类型行只是不编译.我有这种语法错误或这是不可能的?

trait A {
  def aValue = 1
}
trait B {
  def bValue = 1
}
trait C {
  a : A, b : B =>
  def total = a.aValue + b.bValue
}

class T extends C with A with B { ...
Run Code Online (Sandbox Code Playgroud)

scala

46
推荐指数
1
解决办法
5596
查看次数

所有Either cruft的交易是什么?

Either类似乎很有用,使用它的方法非常明显.但后来我看了API文档,我很困惑:

def joinLeft [A1 >: A, B1 >: B, C] (implicit ev: <:<[A1, Either[C, B1]]):
         Either[C, B1]
   Joins an Either through Left.

def joinRight [A1 >: A, B1 >: B, C] (implicit ev: <:<[B1, Either[A1, C]]):
         Either[A1, C]
   Joins an Either through Right.

def left : LeftProjection[A, B]
   Projects this Either as a Left.

def right : RightProjection[A, B]
   Projects this Either as a Right.
Run Code Online (Sandbox Code Playgroud)

我如何处理投影,如何调用连接?

Google只是向我指出了API文档.

这可能只是"不关注幕后人"的情况,但我不这么认为.我认为这很重要.

scala

41
推荐指数
3
解决办法
6711
查看次数

标签 统计

scala ×5

git ×3

angularjs ×1

maven-2 ×1

yum ×1