This tool executes a git command for every repository under the path where it is executed.
Requirements
Windows Install
> dotnet run GitDir.csproj
Linux Install
For the publish runtime flag (-r) choose your system architecture [RID] acording to Microsoft .NET Core RID Catalog
$ dotnet publish -c Release -r [RID] GitDir.csproj
$ cp ./bin/Release/netcoreapp3.0/linux-arm/publish ~/.gitdir
Usage
Change directory base to where you have your repos and then execute the desired command:
Windows
> gitdir [any Git command]
Linux
> ~/.gitdir/GitDir [any Git command]
Sample Output
pi@raspberrypi:~ $ ~/.gitdir/GitDir status
/home/pi/gitdir
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
/home/pi/azurecloner
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: AzureCloner/bin/Debug/netcoreapp3.0/AzureCloner.dll
modified: AzureCloner/bin/Debug/netcoreapp3.0/AzureCloner.pdb
modified: AzureCloner/bin/Debug/netcoreapp3.0/AzureCloner.runtimeconfig.dev.json
modified: AzureCloner/bin/Debug/netcoreapp3.0/Newtonsoft.Json.dll
modified: AzureCloner/obj/AzureCloner.csproj.nuget.cache
modified: AzureCloner/obj/AzureCloner.csproj.nuget.dgspec.json
modified: AzureCloner/obj/AzureCloner.csproj.nuget.g.props
modified: AzureCloner/obj/AzureCloner.csproj.nuget.g.targets
modified: AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner.AssemblyInfo.cs
modified: AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner.assets.cache
modified: AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner.csproj.FileListAbsolute.txt
modified: AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner.csprojAssemblyReference.cache
modified: AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner.dll
modified: AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner.pdb
modified: AzureCloner/obj/project.assets.json
Untracked files:
(use "git add <file>..." to include in what will be committed)
AzureCloner/bin/Debug/netcoreapp3.0/AzureCloner
AzureCloner/obj/Debug/netcoreapp3.0/AzureCloner
no changes added to commit (use "git add" and/or "git commit -a")
/home/pi/subsync
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: Project/Settings.json
no changes added to commit (use "git add" and/or "git commit -a")
pi@raspberrypi:~ $