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

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

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

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


当前回答

如果您的存储库是私人

从启动菜单中打开控制面板 选择用户帐户 在左手菜单中选择“管理您的认证” 删除与 Git 或 GitHub 相关的任何认证

参考

其他回答

查看您的特权

在我的情况下,我需要检查我的用户名

我有兩個或三個存储庫,有清潔的信件。

问题是我的许可我有两个私人 git 服务器和存储库

这个第二个帐户是该新 repo 的管理员,第一个是我的默认用户帐户,我应该允许首先

移除远程

使用 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)

如果你克隆了你的本地将自动组成,

远程 URL 在那里它被克隆。

您可以使用 git remote -v 查看。

如果你想改变它,

git remote set-url origin https://github.io/my_repo.git

这里,

起源 - 你的分支

如果你想重写现有分支,你仍然可以使用它......它会重写你的现有分支......它会

git remote remove url
and 
git remote add origin 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一个,可能是一个因素,但我不能生气尝试并重复它没有它。

更改远程 git URI 到 git@github.com 而不是 https://github.com

git remote set-url origin git@github.com:<username>/<repo>.git

例子:

git remote set-url origin git@github.com:Chetabahana/my_repo_name.git

优点是,当您使用 ssh 代理时,您可以自动进行 git push :

#!/bin/bash

# Check ssh connection
ssh-add -l &>/dev/null
[[ "$?" == 2 ]] && eval `ssh-agent`
ssh-add -l &>/dev/null
[[ "$?" == 1 ]] && expect $HOME/.ssh/agent

# Send git commands to push
git add . && git commit -m "your commit" && git push -u origin master

插入一个脚本文件 $HOME/.ssh/agent 让它运行 ssh-add 使用预期如下:

#!/usr/bin/expect -f
set HOME $env(HOME)
spawn ssh-add $HOME/.ssh/id_rsa
expect "Enter passphrase for $HOME/.ssh/id_rsa:"
send "<my_passphrase>\n";
expect "Identity added: $HOME/.ssh/id_rsa ($HOME/.ssh/id_rsa)"
interact