2

我正在尝试设置 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
4

2 回答 2

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
于 2013-06-02T23:56:12.043 回答
0

一个遥控器对应两件事:

  • 中的一个配置.git/config

  • 一组 refs,在命名空间中refs/remotes/$remote

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

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

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

于 2015-05-03T17:36:30.103 回答