Added clean-branch.ps1

This commit is contained in:
Markus Fleschutz 2021-02-15 16:54:38 +01:00
parent 93966ea267
commit 8a4e6eb5ba
3 changed files with 32 additions and 0 deletions

View File

@ -5,6 +5,7 @@ check-ipv6-address.ps1, checks the given IPv6 address for validity
check-mac-address.ps1, checks the given MAC address for validity
check-symlinks.ps1, checks every symlink in the given directory tree
check-xml-file.ps1, checks the given XML file for validity
clean-branch.ps1, cleans the current Git branch (and submodules) from generated files
clone-repos.ps1, clones well-known Git repositories
close-calculator.ps1, closes the calculator program gracefully
close-chrome.ps1, closes Google Chrome gracefully

1 Script Description
5 check-mac-address.ps1 checks the given MAC address for validity
6 check-symlinks.ps1 checks every symlink in the given directory tree
7 check-xml-file.ps1 checks the given XML file for validity
8 clean-branch.ps1 cleans the current Git branch (and submodules) from generated files
9 clone-repos.ps1 clones well-known Git repositories
10 close-calculator.ps1 closes the calculator program gracefully
11 close-chrome.ps1 closes Google Chrome gracefully

View File

@ -11,6 +11,7 @@ Table of Contents
* [check-mac-address.ps1](Scripts/check-mac-address.ps1) - checks the given MAC address for validity
* [check-symlinks.ps1](Scripts/check-symlinks.ps1) - checks every symlink in the given directory tree
* [check-xml-file.ps1](Scripts/check-xml-file.ps1) - checks the given XML file for validity
* [clean-branch.ps1](Scripts/clean-branch.ps1) - cleans the current Git branch (and submodules) from generated files
* [clone-repos.ps1](Scripts/clone-repos.ps1) - clones well-known Git repositories
* [close-calculator.ps1](Scripts/close-calculator.ps1) - closes the calculator program gracefully
* [close-chrome.ps1](Scripts/close-chrome.ps1) - closes Google Chrome gracefully

30
Scripts/clean-branch.ps1 Executable file
View File

@ -0,0 +1,30 @@
#!/bin/powershell
<#
.SYNTAX ./clean-branch.ps1
.DESCRIPTION cleans the current Git branch (and submodules) from generated files
.LINK https://github.com/fleschutz/PowerShell
.NOTES Author: Markus Fleschutz / License: CC0
#>
try {
& git --version
} catch {
write-error "ERROR: can't execute 'git' - make sure Git is installed and available"
exit 1
}
try {
& git clean --force -d -x
if ($lastExitCode -ne "0") { throw "'git clean' failed" }
& git submodule foreach --recursive git clean --force -d -x
if ($lastExitCode -ne "0") { throw "'git clean' in submodules failed" }
& git status
if ($lastExitCode -ne "0") { throw "'git status' failed" }
exit 0
} catch {
write-error "ERROR in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}