我在我的硬盘上(本地)克隆的USB键上有一个repo(起源)。我将“起源”转移到NAS,并成功测试了从这里克隆。

我想知道我是否可以在“本地”设置中更改“起源”的URI,所以它现在将从NAS中拖动,而不是从USB键。

到目前为止,我可以看到两个解决方案:

把一切推到USB起源,然后将其复制到NAS(这意味着由于NAS起源的新承诺而付出很多工作);添加一个新的远程到“本地”并删除旧的(我担心我会打破我的历史)。


当前回答

如果您想在原始URL中设置用户名和密码,您可以遵循下面的步骤。

输出密码在变量将避免与特殊字符的问题。

步骤:

export gituser='<Username>:<password>@'
git remote set-url origin https://${gituser}<gitlab_repo_url> 
git push origin <Branch Name>

其他回答

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

另一种方法是重新命名“旧”起源(在下面的例子中,我简单地称之为旧起源),并添加一个新的。

git remote rename origin old-origin
git remote add origin git@new-git-server.com>:<username>/<projectname>.git

如果你需要推你的地方状态到新的起源:

git push -u origin --all
git push -u origin --tags

你可以

git remote set-url origin new.git.url/here

您也可以编辑.git/config 并在那里更改 URL。

你没有失去历史的危险,除非你做一些非常愚蠢的事情(如果你担心,只是做一个复印件,因为你的复印件是你的历史)。

此分類上一篇

麻烦解决:

您可能遇到这些错误,当尝试更改一个远程。

这个错误意味着你试图改变的远程不存在:

git remote set-url sofake https://github.com/octocat/Spoon-Knife fatal: 没有这样的遥远的“sofake”

确保您正确输入了远程名称。

参考 : https://help.github.com/文章/变更-a-remote-s-url/

这个答案属于一个问题,我无法在其他地方找到答案:做这个项目在Gitlab,有一个子组。

git remote add origin git@gitlab.com:group/subgroup/project.git

与所有有“用户名”而不是“组”的答案相反,没有一个通过SSH为我工作。

git remote add origin https://username@gitlab.com/group/subgroup/project.git

请注意两者之间的区别是 ".com:group" 和 ".com/group" 。

如果这不是直接从盒子上工作,我使用了HTTPS方法之前成功使用SSH一个,可能是一个因素,但我不能生气尝试并重复它没有它。