小编Lio*_*san的帖子

Git - 为什么在删除的文件上运行命令时需要双短划线?

考虑一个git存储库,其中一个文件曾被删除.

git rm path/to/file
git commit -a -m"testing"
Run Code Online (Sandbox Code Playgroud)

好的,现在我想看到该git log文件,但我收到了经典的错误消息:

git log path/to/file
fatal: ambiguous argument 'path/to/file': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Run Code Online (Sandbox Code Playgroud)

解决方案很简单 - 添加--:

git log -- path/to/file
Run Code Online (Sandbox Code Playgroud)

但为什么?为什么需要这个?这里的理由是什么?不能git做一个有根据的猜测,这可能是一个文件一次?我理解"模棱两可"的问题 - 但从来没有这个名称的标签.如果文件一旦删除,并且没有标记,那么选择"文件解释"始终是一个不错的选择.

另一方面,可以有一个名为与文件相同的标记,它可以git log很好地处理:

fatal: ambiguous argument 'path/to/file': both revision and filename
Use '--' to separate filenames from revisions
Run Code Online (Sandbox Code Playgroud)

这种行为似乎不一致.任何人都可以解释一下git的开发人员的想法吗?

git git-log

10
推荐指数
1
解决办法
6601
查看次数

Python 2.x - 在同一个类中创建类的静态实例

我想在python中编写一个"枚举类".我目前遇到的一个小麻烦是无法在枚举类中定义枚举值.也就是说,我可以这样做:

class Fruit:
    def __init__(self, name):
        self.name = name

class Fruits(Enum):
    Apple = Fruit("apple")
Run Code Online (Sandbox Code Playgroud)

但我想这样做,或类似的清晰的等价物:

class Fruit(Enum):
    def __init__(self, name):
        self.name = name

    Apple = Fruit("apple")
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到以下错误:名称'Fruit'未定义

在这种情况下,可见度的规则是什么?是否有任何鲜为人知的Python技巧可以帮助我?我更喜欢可以在Enum的元类中编写的东西,因为这样可以减少用户的使用麻烦.

python static visibility class definition

7
推荐指数
1
解决办法
779
查看次数

避免UAC但使用Windows服务启动提升的进程

我有一个非交互式服务作为Windows机器上的特权SYSTEM用户运行,我需要它作为提升的进程启动给定的可执行文件.

我已经设法使用WTSGetActiveConsoleSessionId()启动子进程作为SYSTEM,查找系统进程并复制它的令牌.同样,我可以作为普通用户启动非提升流程.但我需要以普通用户身份启动该流程,但具有提升的权限 - 这样我就不必显示UAC,但该流程正在以适当的用户身份运行.

我并不想绕过UAC - 因为用户已经同意安装该服务.我正在努力减轻不便.我找到了一个类似的,没有答案的问题 - 但又一次问道,希望得到答案.

winapi uac elevated-privileges

6
推荐指数
1
解决办法
3010
查看次数