Last active
September 6, 2021 03:29
-
-
Save giseongeom/6750c18b2cc48a1310088ece28f5daee to your computer and use it in GitHub Desktop.
Update multiple git repository's remote-url
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Requires -version 5.1 | |
cd C:\Users\giseong.eom\Source | |
$repolist1 = dir -Directory -Exclude archived C:\Users\giseong.eom\Source | % { $_.FullName } | |
$repolist2 = ( | |
"c:\Users\giseong.eom\.dotfiles", | |
"c:\Users\giseong.eom\tools" | |
) | |
$repolist = $repolist1 + $repolist2 | |
$repo_access_user = 'giseongeom' | |
$repolist | % { | |
$target_dir = $_ | |
Set-Location -Path $target_dir | |
$git_url = (((git remote -v | findstr /i fetch) -split "`\t")[1] -split " ")[0] | |
# Cloned via https | |
if ($git_url -like "*github*" -and $git_url -like "https*") { | |
$repo_name = ($git_url -split '/')[-1] | |
$repo_owner = ($git_url -split '/')[-2] | |
$git_url | |
$repo_owner | |
$repo_name | |
& git remote set-url origin "https://${repo_access_user}@github.com/${repo_owner}/${repo_name}" | |
& git config --replace-all --local user.name "GiSeong Eom" | |
& git config --replace-all --local user.email [email protected] | |
& git config --replace-all --local core.autocrlf false | |
} | |
# Cloned via ssh | |
if ($git_url -like "*github*" -and $git_url -like "git*") { | |
$repo_name = ($git_url -split '/')[-1] | |
$repo_owner = (($git_url -split '/')[-2] -split ':')[-1] | |
<# | |
& git remote set-url origin "https://${repo_access_user}@github.com/${repo_owner}/${repo_name}" | |
& git config --replace-all --local user.name "GiSeong Eom" | |
& git config --replace-all --local user.email [email protected] | |
& git config --replace-all --local core.autocrlf false | |
#> | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment