我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。
我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。
到目前为止,我可以看到两个解决方案:
把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。
我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。
我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。
到目前为止,我可以看到两个解决方案:
把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。
当前回答
(仅限 Windows PS) 在所有本地休息室中重复更改服务器/协议
Get-ChildItem -Directory -Recurse -Depth [Number] -Hidden -name | %{$_.replace("\.git","")} | %{git -C $_ remote set-url origin $(git -C $_ remote get-url origin).replace("[OLD SERVER]", "[NEW SERVER]")}
其他回答
使用 gitbash git 远程 rm 起源命令删除起源 现在使用 gitbash git 远程 添加起源 添加新起源(从您的项目存储库中复制 HTTP 地址)完成
此分類上一篇: git remote set-url {name} {url}
git remote set-url origin https://github.com/myName/GitTest.git
移除远程
使用 git 远程 rm 命令从您的存储库中删除远程 URL。
$ git remote -v
# View current remotes
> origin https://github.com/OWNER/REPOSITORY.git (fetch)
> origin https://github.com/OWNER/REPOSITORY.git (push)
> destination https://github.com/FORKER/REPOSITORY.git (fetch)
> destination https://github.com/FORKER/REPOSITORY.git (push)
$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin https://github.com/OWNER/REPOSITORY.git (fetch)
> origin https://github.com/OWNER/REPOSITORY.git (push)
如果你在Linux或Mac上有 sed/grep,它也很容易改变,而不会失去联系。
最近我做了这个改变我的用户名所有我的存储库在配置中本地,但我已经做到了相同的方法,远程线也完全。
VARIABLE_FIND='old'; VARIABLE_REPLACE='new'; path_name='~/PycharmProjects/*/.git/'; grep -rl --include=config "${VARIABLE_FIND}" "${path_name}" | xargs sed -i "s|${VARIABLE_FIND}|${VARIABLE_REPLACE}|g"
要替换整个线路,在那里有一个比赛,你可以这样做:
VARIABLE_FIND='someneedle'; VARIABLE_REPLACE='somenewvalue'; path_name='/home/*/' grep -rl --include=config "${VARIABLE_FIND}" "${path_name}" | xargs sed -i "/${VARIABLE_FIND//\//\\/}/c\\${VARIABLE_REPLACE}" ;
参考: 用 Sed 替换包含一条线的整个线
git remote set-url origin git://new.location
(替代,打开.git/config,搜索 [远程“起源”),并编辑 url = 行。
你可以检查它工作,通过检查远程:
git remote -v
# origin git://new.location (fetch)
# origin git://new.location (push)
接下来的按钮,你将不得不指定新的上流分支,例如:
git push -u origin master
此分類上一篇: GitHub: 更改遠程 URL