我正在寻找一种简单的方法来更新Windows 10客户端上本地git存储库的所有“远程” URL。
我们已将服务器上的URL更新为HTTPS,而不是HTTP,并且URL已更改为:
http://bitbucket.myserver.com
收件人:
https://bitbucket.myserver.com:8443
我有一个用于更新(拉出)存储库的powershell脚本,但不确定如何将其更改为用于更新远程URL的命令:
Get-ChildItem -Directory | ForEach-Object { Write-Host("`r`ngit pull for: '$($_.FullName)'") | git -C "$($_.FullName)" pull }
我需要将以下命令合并到上述PowerShell脚本中:
git remote set-url [--push] <name> <newurl> [<oldurl>]
答案 0 :(得分:1)
使用git remote get-url
检索原始URL后,可以使用URI builder来更改Scheme
和Port
。使用UriBuilder还可以安全地运行多次(幂等):
Get-ChildItem -Directory | ForEach-Object {
Write-Host("`r`ngit remote set-url for: '$($_.FullName)'")
$url = git -C "$($_.FullName)" remote get-url origin
$url = new-object System.UriBuilder -ArgumentList $url
$url.Port = 8443
$url.Scheme = "https"
git -C "$($_.FullName)" remote set-url origin $url
}