相关疑难解决方法(0)

在各种存储库中批量更改 git 远程源 - bash 命令

我有一个目录,其中包含 20 多个 git 存储库。我必须更改每个文件中的远程原始 URL。我不想手动执行此操作,而是想使用以下命令:

find . -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && git remote set-url origin git@euxxx-x-x-xxx01.xx.xx.xxx.com:/foo/bar/'{}'.git" \;
Run Code Online (Sandbox Code Playgroud)

问题是,括号 {} 被相对路径替换,所以我最终得到以下命令:

git remote set-url origin git@euxxx-x-x-xxx01.xx.xx.xxx.com:/foo/bar/./zaz/repo.git
Run Code Online (Sandbox Code Playgroud)

但我只需要

git remote set-url origin git@euxxx-x-x-xxx01.xx.xx.xxx.com:/foo/bar/repo.git
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标?

git bash find

5
推荐指数
2
解决办法
4108
查看次数

尝试在 ubuntu 上转义 sed 的 /

我正在尝试使用 sed 替换文件中的路径。

sudo sed 's/a/b/g' -i /tmp/test
Run Code Online (Sandbox Code Playgroud)

然而变量是

a = /var/lib and 
b = /data/lib
Run Code Online (Sandbox Code Playgroud)

如何逃脱斜线?

sed

1
推荐指数
1
解决办法
1663
查看次数

标签 统计

bash ×1

find ×1

git ×1

sed ×1