我在PowerShell中使用以下代码。不幸的是,它没有获得$Startinghash
和$lastHash
值。如果我直接传递值,代码工作正常。
不工作: -
$StartingHash = "f116bcce5cc0701cb0b5a673bc4ce9f723050f04"
$LastHash = "2870d215c7201e7cf65c71d4d0e732078b3bda31"
git log --pretty=format: --name-only $StartingHash..$LastHash | sort | uniq | grep -i '".sql"' > C:\Ashish\data\sqlRB.txt
工作: -
git log --pretty=format: --name-only f116bcce5cc0701cb0b5a673bc4ce9f723050f04..2870d215c7201e7cf65c71d4d0e732078b3bda31 | sort | uniq | grep -i '".sql"' > C:\Ashish\data\sqlRB.txt
我认为不设定变量值。
Write-Host git log --pretty=format: --name-only $StartingHash..$LastHash | sort | uniq | grep -i '".sql"' > C:\Ashish\data\sqlRB.txt
输出: -
git log --pretty=format:--name-only f116bcce5cc0701cb0b5a673bc4ce9f723050f04..2870d215c7201e7cf65c71d4d0e732078b3bda31
答案 0 :(得分:2)
我不能代表您的Git代码,但是,PetSerAl指出您的--name-only
字符串中插入了空格。键入时可以看到:
Write-Output $StartingHash..$LastHash
或
Write-Host $StartingHash..$LastHash
您可以做的是将这些值括在引号中,以便PowerShell将其视为单个字符串,而不会出现任何空格或意外格式。
git log --pretty=format: --name-only "$StartingHash..$LastHash" | ....