gpt4 book ai didi

git - 从命令行重命名 Github 存储库

转载 作者:行者123 更新时间:2023-12-02 18:37:36 26 4
gpt4 key购买 nike

我用谷歌搜索并在 stackoverflow 上搜索了以下问题,但是找不到任何满意的答案。

也就是说,我有一个远程存储库:https://github.com/<username>/foo和我希望将其重命名为 https://github.com/<username>/bar在远程站点以及命令行的本地配置条目中,现在我在“~/my_github_repos/foo”本地克隆了 repo。

所以基本上,我希望这个 repo 的所有内容都从 foo 转换而来至 bar (网址/配置/本地文件夹)

为此,我将文件夹重命名为 ~/my_github_repos/foo/~/my_github_repos/bar/并尝试这样做,

git remote set-url origin https://github.com/<username>/bar.git

但这只是在本地而不是远程完成的。因此,当我对现在重命名的文件夹中的文件进行一些更改时,bar并做了一个git push origin master , 它给了我错误:

remote: Repository not found.
fatal: repository 'https://github.com/<username>/bar.git/' not found

那么,为了重命名存储库,我需要做些什么才能在本地进行更改并远程反射(reflect)出来?

我知道 Github.com 提供了一个非常好的 UI 来重命名存储库,但是我只想知道是否有一种方法可以从命令行通过几个步骤来完成。如果不是,我同意从 github.com 网站重命名它很简单。

这个问题的原因是,我喜欢主要从命令行做事,而不是到处跑,做像重命名存储库这样简单的任务。

附言我搜索了计算器并发现了这个:Rename Github Repository ,这可能看起来与这个问题相似,但它是不同的。

最佳答案

本地存储库和远程存储库在这方面是分开的。没有允许您更改远程存储库的路径/名称的 Git 命令。

您在问题中提到您已经更改了本地目录的名称并使用 git remote set-url 更新了存储库 URL。因为您不能使用 Git 重命名远程存储库,所以您需要以您拥有的实际远程存储库的类型/软件/平台支持的方式执行此操作。

这是用 GitHub 标记的,所以您的问题归结为:有没有办法在不使用网络界面的情况下更改 GitHub 存储库的名称? 是的,这可以通过 GitHub API 发送一个 PATCH 请求到 /repos/{owner}/{repo} 并指定一个不同的 name 参数 ( docs ).

我建议使用 api-command GitHub CLI 允许以安全的方式向 GitHub API 发出经过身份验证的请求:

gh api -X PATCH --raw-field name=new-name repos/account-name/current-name

有一个 feature request让 GitHub CLI 允许使用专用命令重命名存储库,而不是使用 api 命令。

另一种选择是直接使用curl。但是,在命令行中传递凭据具有安全隐患,我不建议这样做。为了示例的缘故,这里是请求的样子:

curl -X PATCH \
-d '{"name": "new-repo-name"}' \
-H "Authorization: token ghp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
"https://api.github.com/repos/account-name/current-repo-name"

关于git - 从命令行重命名 Github 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68556725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com