小编Tim*_*ske的帖子

为什么非交互式rebase上的Git post-commit挂钩没有运行?

给定一个任意的,可执行的Git post-commit钩子,它不会在非交互式rebase期间运行,根据GIT-REBASE(1)Manpage,在非交互模式下,它既不是前者的同义词,rebase --force-rebase也不rebase --no-ff是前者的同义词.

但是通过使用rebase --interactive --no-ff相同的Git钩子进行交互式rebase,可以在post-commit上运行.

有人可以解释这种行为背后的基本原理.

git git-rebase non-interactive post-commit-hook

5
推荐指数
1
解决办法
483
查看次数

如何将“=”等号定义为 Bash 别名?

我想将=等号定义为 Bash 别名,但 Bash 不允许以下任何定义:

alias =='echo foo'
alias \=='echo foo'
alias -- =='echo foo'
alias -- \=='echo foo'
Run Code Online (Sandbox Code Playgroud)

有人知道一种有效的符号吗?

bash alias keyword equals-operator

5
推荐指数
1
解决办法
619
查看次数

Scala中是否可以进行方法参数转发?

是否可以写类似于:

def foo(x: Int, y: Double)

def bar(x: Int, y: Double) = foo(_)
Run Code Online (Sandbox Code Playgroud)

我想避免重复自己说:

def foo(x: Int, y: Double)

def bar(x: Int, y: Double) = foo(x, y)
Run Code Online (Sandbox Code Playgroud)

因此,如果两个参数列表的类型和大小相同,并且不会重新定位参数,那么参数转发是否可以实现?

methods scala parameter-passing

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

如何在配置文件为"$ XDG_CONFIG_HOME/git/config"时设置Git配置选项?

使用Git,Fedora Linux版本1.9.3,版本20,我正在查询用户的名字,如下所示:

git config user.name
# Foo Bar
Run Code Online (Sandbox Code Playgroud)

但当我尝试改变它时:

git config user.name 'Bar Foo'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

# error: could not lock config file .git/config: No such file or directory
Run Code Online (Sandbox Code Playgroud)

根据"XDG基本目录规范"(http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)和我放置的git-config(1)联机帮助页的"FILES"部分我的Git配置文件下"$XDG_CONFIG_HOME/git/config".

请注意,"XDG_CONFIG_HOME变量设置为,"$HOME/.config"并且GIT_CONFIG在我的环境中未设置变量.

据我所知,(1)联机帮助页状态的混帐配置的"文件"部分:"如果没有设置$ XDG_CONFIG_HOME或空,$ HOME /的.config /混帐/配置将用于"

但随后的Git应该忽略的"$XDG_CONFIG_HOME/git/config"一贯文件,即在阅读写作.

我错过了什么吗?

git config

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

如何表达(隐式conv:String => A)作为视图绑定

我问自己什么是视图绑定相当于

(implicit conv: String => A)
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是简单地声明类型参数A,如下所示:

[String <% A]
Run Code Online (Sandbox Code Playgroud)

但Scala编译器抱怨"未找到:类型A".

有什么建议?

scala implicit-conversion implicits view-bound

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

自我类型注释阻碍了内部类的实例化.为什么?

鉴于Outer类及其Inner类的抽象定义,我想实例化trait中Inner1定义的具体类Outer1.

abstract class Outer {
  type Inner_Tp <: Inner;
  abstract class Inner {
    self: Inner_Tp =>
  }
}

trait Outer1 {
  self: Outer =>
  protected class Inner1 extends Inner {
    self: Inner_Tp =>
  }
  def Inner1() = new Inner1()
}
Run Code Online (Sandbox Code Playgroud)

Scala编译器过早地终止编译,给出了以下错误消息:"错误:类Inner1无法实例化,因为它不符合其自身类型Outer1.this.Inner1 with Outer1.this.Inner_Tp".为什么?

Inner1在一个抽象的上下文中定义所有类之后,它就是它的Outer1特征.我想推迟定义,type Inner_Tp直到特质混入一些具体的类.

scala class traits abstract self-type

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

如何显示隐藏文件并用ls隐藏显示的文件?

列出我使用的文件ls.我知道如何列出它们的几乎-A所有(-a)或全部().但是,当我尝试显示隐藏文件并隐藏显示的文件时,我运气不好:

ls --hide='*' -A
Run Code Online (Sandbox Code Playgroud)

-A选项中和--hide选项的行为在文档中描述ls.

那么ls我可以使用另一种选择吗?本find- xargs- ls连击不能是唯一的解决办法,对不对?

ls find xargs hidden-files

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

为什么〜代字号不能成为有效的Git分支名称的一部分?

我试图表示Git分支使用~代号来贡献用户,该代号类似于在类似UNIX的操作系统上用于引用主文件夹的表示法,但是Git阻止我这样做,因为它会中止带有错误消息fatal: '~' is not a valid branch name.The branch的分支创建。贡献者的姓名应类似于~alice/feature/foo~bob/bugfix/bar等等。

以下命令均不适用于Git 2.14.1版本:

$ git checkout -b '~'
fatal: '~' is not a valid branch name.
$ git checkout -b '~bar'
fatal: '~bar' is not a valid branch name.
$ git checkout -b 'foo~'
fatal: 'foo~' is not a valid branch name.
$ git checkout -b 'foo~bar'
fatal: 'foo~bar' is not a valid branch name.
Run Code Online (Sandbox Code Playgroud)

就目前而言,出于我的目的,我决定将@ at符号作为常用前缀。但是我正在重新考虑将分支名称中除-连字符和_下划线符号之外的其他非常不寻常的字符作为单词定界符的决定,这是由于可能会受到Git本身或Git存储库的底层文件系统施加的限制的影响并因此存储。

git git-checkout

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