У нас есть оркестровка psake, которая предлагает пользователю следующее сообщение перед вызовом «git clean -xdf»:
Об удалении всех неотслеживаемых файлов. Нажмите «Y», чтобы продолжить, или любую другую клавишу, чтобы отменить.
Мы хотели бы показывать это приглашение ТОЛЬКО, если в репозитории есть неотслеживаемые файлы, которые можно удалить, запустив команду clean -xdf.
Любые предложения о том, как использовать posh-git для ответа на вопрос «есть ли какие-либо неотслеживаемые изменения в репозитории?» из PowerShell?
Вот существующая оркестровка, для справки...
task CleanAll -description "Runs a git clean -xdf" {
Write-Host "About to delete any uncommitted changes. Press 'Y' to continue or any other key to cancel." -foregroundcolor "yellow"
$continue = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp").Character
IF ($continue -eq "Y" -or $continue -eq "y")
{
git clean -xdf
}
ELSE
{
Write-Error "CleanAll canceled."
}
}
git clean -xdf
не отменяет изменения в отслеживаемых файлах, он удаляет неотслеживаемые и игнорируемые файлы. - person Etan Reisner   schedule 12.03.2015git clean
, возможно, вы пытались сделать это без всякой причины, поскольку это не так. И более того, как лучше всего ответить на вопрос, зависит (в некоторой степени) от того, какие изменения/и т.д. вам действительно нужно проверить. - person Etan Reisner   schedule 13.03.2015git status --porcelain
илиgit status -z
и найдите??
маркеры в файлах. Это неотслеживаемые файлы. Я не могу написать это для powershell с головы до ног. В качестве альтернативы просто проверьте, выводит ли что-нибудьgit clean -xdn
. - person Etan Reisner   schedule 13.03.2015