无法删除远程原点
我在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
这可能工作!