我有我的项目在GitHub上的一些位置,git@github.com:myname/oldrep.git。

现在,我想将所有代码推到其他位置的新存储库git@github.com:newname/newrep.git。

我使用命令:

git remote add origin git@github.com:myname/oldrep.git

但我所领受的是:

致命:远程源已经存在。


当前回答

您需要检查原点,如果不存在则添加。

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

创建文件check.sh,粘贴脚本,更新git存储库URL,然后运行。/check.sh。

其他回答

METHOD1 - - - >

因为原点已经存在,删除它。

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

METHOD2 - - - >

还可以通过->git remote set-url更改现有的远程存储库URL

如果您正在更新使用HTTPS

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

如果您正在更新以使用SSH

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

如果试图更新一个不存在的远程,您将收到一个错误。所以要小心。

METHOD3 - - - >

使用git remote rename命令重命名已存在的远程。 一个现有的远程名称,例如origin。

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

验证远程的新名称->

git remote -v

如果刚接触Git,试试这个教程->

试试git教程

如果您错误地将本地名称命名为“origin”,您可以使用以下方法删除它:

git remote rm origin

您可以简单地在文本编辑器中编辑配置文件。

在~/。你需要在Gitconfig中输入如下内容:

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

In the oldrep/。Git /配置文件(在存储库的配置文件中):

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

如果您的存储库的配置文件中有一个远程部分,并且URL匹配,您只需要添加推送配置。如果你使用一个公共URL进行抓取,你可以将用于推送的URL输入为“pushurl”(警告:这需要刚刚发布的Git 1.6.4版本)。

前面的解决方案似乎忽略了起源,他们只是建议使用另一个名称。当你只想使用git push origin时,请继续阅读。

出现这个问题是因为Git配置顺序错误。你可能已经在你的.git配置中添加了一个“git origin”。

你可以在你的Git配置中使用下面的代码行更改远程原点:

git remote set-url origin git@github.com:username/projectname.git

这个命令为要推送的Git存储库设置一个新的URL。 重要的是填写您自己的用户名和项目名

我也有同样的问题,但我找到了解决方案。基本上,“origin”是项目克隆位置的另一个名称。现在是错误

fatal: remote origin already exists.

字面意思是原点已经存在。因此,要解决这个问题,我们的目标应该是消除它。 为此目的:

git remote rm origin

现在再添加一次

git remote add origin https://github.com/__enter your username here__/__your repositoryname.git__

这确实解决了我的问题。