无法删除远程原点

我在OS X上运行git 1.8.0,每个新的git仓库似乎都有一个名为“origin”的远程:

$ git init $ git remote origin 

奇怪的是,我不能删除它:

 $ git remote remove origin error: Could not remove config section 'remote.origin' 

因此,我不能添加一个新的远程调用origin 。 为什么是这样? 我能做些什么来改变它?

你应该能够删除origin

 git remote rm origin 

不是你需要的,你可以用set-url来改变origin

 git remote set-url origin "https://..." 

打开.git目录并编辑它所说的[远程“起源”]的configuration文件

警告:在尝试之前仔细阅读


如果您复制并粘贴具有初始化的项目,也会导致此错误。 我只会在一个你不关心以前历史的新项目中推荐这个。

背景

当我刚刚复制并粘贴一个项目时,我遇到了这个错误。 当我运行git status我看到了新项目和我粘贴的项目之间的差异。

我所做的只是去命令行, cd进入项目并运行

 rm -f -r .git 

这摆脱了以前的项目旧的.git文件。 然后我运行git init来创build一个新的.git文件,然后一切正常。

同样对于这个错误,如果你不需要以前的gitlogging,那么这是快速简单的方法来做到这一点。

我这样解决了我的问题。 首先我用下面的命令用vim打开config文件

 $ vim .git/config 

我修改我的文件,如下所示:

 [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = false [branch "master"] [remote "origin"] url = git@192.168.200.79:xxx.git fetch = +refs/heads/*:refs/remotes/origin_iOS/* 

所以,现在,当我给git push一个命令,它理解,因为默认情况下,它推到origin ,它被设置为我的服务器的origin_iOS

您可以通过remote -v命令检查您的原始configuration:

 $ git remote -v origin git@192.168.200.79:xxxx.git (fetch) origin git@192.168.200.79:xxx.git (push) 

如果你没有'origin' ,就像我一样,你会遇到一个通常的'git push'麻烦。 我不得不input'git push origin_iOS master' ,因为我在我的configuration'origin_iOS'

在git根目录.git/config有一个.git/config ,在本地存储的每个仓库中都有一个特定的.git/config

如果你在GitBash中得到上面的错误,可能是因为你在git根目录而不是特定的版本库目录。 尝试以下操作, cd (更改目录)到您的存储库:

 $ cd GitRepositoryName 

请注意,“GitRepositoryName”是您的存储库名称。 然后input

 $ git remote remove origin 

这可能工作!