我有我的项目在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。

我也遇到过同样的问题,在做了一些研究之后,我是这样解决的:

下载GitHub for Windows,或使用类似的东西,其中包括一个shell。 从任务菜单中打开Git Shell。这将打开一个包含Git命令的power shell。 在shell中,切换到旧的存储库,例如cd C:\path\到\old\存储库。 显示旧存储库的状态。

输入git remote -v获取获取和推送remote的远程路径。如果您的本地存储库连接到远程存储库,它将显示如下内容: 来源https://user@bitbucket.org/team-or-user-name/myproject.git(获取) 来源https://user@bitbucket.org/team-or-user-name/myproject.git(推送) 如果没有连接,可能只显示原点。

现在通过使用从本地存储库删除远程存储库 Git远程rm来源 使用git remote -v再次检查,如步骤4所示。它应该只显示原点,而不是读取和推送路径。 现在旧的远程存储库已经断开连接,可以添加新的远程存储库了。使用以下命令连接到新的存储库:

注意:如果你正在使用Bitbucket,你会先在Bitbucket上创建一个项目。创建后,Bitbucket将显示将存储库推送到远程所需的所有Git命令,这看起来类似于下一个代码片段。但是,这也适用于其他存储库。

cd /path/to/my/repo # If you haven't done that yet.
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time.

就是这样。

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

在~/。你需要在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版本)。

您还可以在REPOHOME/中更改您希望推入的存储库名称。git /配置文件

(其中REPOHOME是存储库本地克隆的路径)。

尝试删除第一个现有的起源,为了看到哪个现有的起源已经注册了bash,你可以启动下面的命令。

 git remote -v 

在您知道哪个版本的源已经注册到bash之后,您可以通过下面的命令来删除现有的源

git remote rm origin

一旦你删除了现有的原点,你可以在你的情况下通过以下命令添加新的原点。

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

一旦你在git中添加了你的origin,你就可以将你的本地提交推到远程的origin

git push -u origin --all