Git说原产地已经存在,当它真的没有

时间:2013-06-02 21:55:14

标签: git github

我正在尝试设置git,我从一切开始都是新的,并且我已经按照https://help.github.com/articles/create-a-repo中的所有步骤进行了操作(除了创建自述文件,我在源代码项目中执行了git init文件夹,然后'git add *。*') 但是当我尝试添加roigin时会发生什么:

E:\eclypse\workspace [master]> git remote add origin https://github.com/my-repo/android-projects.git
fatal: remote origin already exists.
E:\eclypse\workspace [master +0 ~7 -0]> git remote -v
origin
upstream
E:\eclypse\workspace [master +0 ~7 -0]> git remote rm origin
error: Could not remove config section 'remote.origin'

我知道遥控器尚未存在,这是我的配置文件:

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly

怎么回事? 注意:我知道我可以使用除“起源”之外的其他名称,但这里有一些错误,我想知道是什么。我确实尝试使用不同的名称作为原点,我后来遇到了问题。

更新,这是我的.gitconfig文件的内容

[user]
name = Siavash Bonakdar
email = clumsygenius@gmail.com

2 个答案:

答案 0 :(得分:3)

有关已知遥控器的信息仅存储为普通的git配置。

git将其配置存储在(可能)三个不同的位置。适用于系统范围的配置,个人配置和特定于存储库的配置。

您可以列出所有不同的配置:

git config --list --system
git config --list --global
git config --list --local

其中一个地方应该列出一些关于remote.origin.*的内容。

您可以使用以下方法编辑相应的文件:

git config --edit --system
git config --edit --global
git config --edit --local

答案 1 :(得分:0)

遥控器对应两件事:

  • .git/config

  • 中的一项配置
  • 名称空间refs/remotes/$remote

  • 中的一组引用

我相信你有第二个,但不是第一个(很可能是因为你之前从.git/config文件中删除了遥控器。)

git remote rm尝试删除两者,但refs应存储在refs/remotes/$remote中的事实存储在配置文件中,并且此信息不再存在,因此git无法删除这些引用。

您可以手动重新创建配置文件中的remote部分以允许git remote rm正常运行,或者在每个引用上使用git update-ref -d删除(使用git for-each-ref找出哪个。)