Public/Push-GitChanges.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function Push-GitChanges {
  Param(
    [Parameter(Mandatory)]
    [ValidateScript({
          if (-not (Join-Path -Path $_ -ChildPath '.git' -Resolve)) {
            throw 'RepoPath must contain .git directory'
          }
          return $true
    })]
    [string]$RepoPath,
    [string]$Msg = (Get-Date).ToShortDateString()
  )
  Process{
    Invoke-InDirectory -Path $RepoPath -ScriptBlock {
      git add --all .
      git commit --all --message "$Msg"
      git push --all
    }
  }
}