小编Nik*_*lle的帖子

从git历史中删除已删除的文件

我正试图从我的git存储库中拆分一个子项目.然而,与Detach(move)子目录不同的是,在 单独的Git存储库中, 我没有它在它自己的子目录中(并且将其移入并执行上述操作仅在移动后生成历史记录).

我克隆了我想要将子项目拆分到它自己的存储库中的分支,并删除了子项目未使用的所有内容,所以基本上我可以使用它作为我子项目的存储库.

现在我想要删除不再存在于此存储库中的所有文件的历史记录,以便仅保留使其成为后代的文件的文件历史记录.

我认为必须使用git-filter-branch,但我无法弄清楚如何

提前谢谢了

git version-control git-filter-branch

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

理解Go标准库中的一些魔力

所以我一直在筛选Go标准库中的一些代码,试图理解他们的图像和颜色包,但发现了一些我无法理解的代码.来自http://golang.org/src/pkg/image/color/color.go?s=794:834#L14

根据我的理解,它应该将8位预先alpha乘法的RGB值转换为16位的值,保存在32位变量中,以防止它们在图像关节成像中相乘时溢出.

我无法理解的是像r |= r << 8我理解的线条这相当于r = r*2^8+r因为r << 8在右边插入零并且它们与旧的r相关.

对于r = 255的输入,这评估为65535 = 2 ^ 16 - 1这是预期的,但对于中间的值没有意义,这些值实际上没有映射到更大范围内的比例.例如,127 get被映射到32639,而我期望32767代表127.我错过了什么?我认为它与pre-alpha-multiplication有关...

 func (c RGBA) RGBA() (r, g, b, a uint32) {
    r = uint32(c.R)
    r |= r << 8
    g = uint32(c.G)
    g |= g << 8
    b = uint32(c.B)
    b |= b << 8
    a = uint32(c.A)
    a |= a << 8
    return
}
Run Code Online (Sandbox Code Playgroud)

bit-manipulation colors go bitmapdata rgba

4
推荐指数
1
解决办法
256
查看次数