Удалите старые ветви с помощью POWERSHELL - PullRequest
0 голосов
/ 06 мая 2020

Я хочу удалить все ветки старше 3 месяцев.

$branches = git branch -r
foreach($branch in $branches){

     Write-Host($branch)

     if("$(git log -- $branch --since='3 months ago')")
     {
          Write-Host("TOO OLD -> REMOVED!")
          git branch -D $branch
     }
     else
     {
          Write-Host("NOT OLD!")
     }
}

Но никогда go в этом случае, если if("$(git log -- $branch --since='3 months ago')")

1 Ответ

1 голос
/ 06 мая 2020

Две вещи:

  1. Не забудьте обрезать вывод из git branch (или используйте явный спецификатор --format)
  2. Удалите --, иначе git log будет рассматривать $branch как имя файла
$branches = git branch -r |ForEach-Object {$_.Trim('* ') -replace ' -> .*$'}
# or
$branches = git branch -r --format='%(refname:short)'

foreach($branch in $branches){

     Write-Host($branch)

     if("$(git log $branch --since='3 months ago')")
     {
          Write-Host("'$branch' TOO OLD -> REMOVED!")
          git branch -D $branch
     }
     else
     {
          Write-Host("'$branch' NOT OLD!")
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...