在全局 .gitconfig 中添加别名后出错
Error after adding an alias in global .gitconfig
我在 Windows 上的 .gitconfig
文件中添加了一行:
[alias]
hist = log --pretty=format:"%C(yellow)%h [%ad]%C(reset) | %s%d %C(green)(%cr)%C(reset) by %C(blue)%an%C(reset)" --graph --all --decorate --date=short
如果我从 git 命令行(如 git log --pretty=...
)使用这段代码,它可以正常工作。但是当我使用别名时,我得到这个错误:
$git hist
fatal: |: no such path in the working tree.
Use 'git <command> -- <path>...' to specify paths that do not exist locally.
据我了解,问题出在“|”象征。它被命令行解释为路径。我应该以某种方式隔离它,还是其他什么?
您需要转义引号:
[alias]
hist = log --pretty=format:\"%C(yellow)%h [%ad]%C(reset) | %s%d %C(green)(%cr)%C(reset) by %C(blue)%an%C(reset)\" --graph --all --decorate --date=short
以下是设置别名的方法:(应该在单行上)
git config --global alias.hist 'log --pretty=format:"%C(yellow)%h [%ad]%C(reset) | %s%d %C(green)(%cr)%C(reset) by %C(blue)%an%C(reset)" --graph --all --decorate --date=short'
分解并解释每个部分:
# set the alias at global level (name: hist)
git config --global alias.hist
# start (and end) the alias content with the '
'log --pretty=format:"..." --graph --all --decorate --date=short'
我在 Windows 上的 .gitconfig
文件中添加了一行:
[alias]
hist = log --pretty=format:"%C(yellow)%h [%ad]%C(reset) | %s%d %C(green)(%cr)%C(reset) by %C(blue)%an%C(reset)" --graph --all --decorate --date=short
如果我从 git 命令行(如 git log --pretty=...
)使用这段代码,它可以正常工作。但是当我使用别名时,我得到这个错误:
$git hist
fatal: |: no such path in the working tree.
Use 'git <command> -- <path>...' to specify paths that do not exist locally.
据我了解,问题出在“|”象征。它被命令行解释为路径。我应该以某种方式隔离它,还是其他什么?
您需要转义引号:
[alias]
hist = log --pretty=format:\"%C(yellow)%h [%ad]%C(reset) | %s%d %C(green)(%cr)%C(reset) by %C(blue)%an%C(reset)\" --graph --all --decorate --date=short
以下是设置别名的方法:(应该在单行上)
git config --global alias.hist 'log --pretty=format:"%C(yellow)%h [%ad]%C(reset) | %s%d %C(green)(%cr)%C(reset) by %C(blue)%an%C(reset)" --graph --all --decorate --date=short'
分解并解释每个部分:
# set the alias at global level (name: hist)
git config --global alias.hist
# start (and end) the alias content with the '
'log --pretty=format:"..." --graph --all --decorate --date=short'