我在Michael Hartl的Ruby on Rails教程的第2章中,我在命令行中输入以下内容:
$ git init
$ git add .
$ git commit -m "Initial commit"
$ git remote add github https://github.com/themaktravels/demo_app.git
fatal: remote github already exists.
$ git push -u github master
Username:
Password:
To https://github.com/themaktravels/first_app.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/themaktravels/first_app.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
我注意到之前我发现了一个致命的错误,注意到Github存在,但我认为这没关系,因为我之前在不同的存储库中提交了Git。我注意到,当我$ git push -u Github master
时,结果是git试图在错误的存储库(first_app.git)中提交而不是新创建的存储库(demo_app.git)。为什么会这样?
在尝试提交之前,我输入了以下内容:
$ cd ~/rails_projects
$ rails new demo_app
$ cd demo_app
然后编辑我的gem文件,一切似乎都很好。直到我遇到这个git问题。有什么建议?谢谢。
答案 0 :(得分:1)
问题在于:
$ git remote add github https://github.com/themaktravels/demo_app.git
fatal: remote github already exists.
如果您已有一个名为github
的遥控器,则git remote add
命令不会更改现有设置。使用git remote -v
查看您当前的遥控器及其指向的位置。我怀疑你已经有一个名为github
的遥控器指向https://github.com/themaktravels/first_app.git
。
答案 1 :(得分:1)
你已经有一个名为“github”的遥控器,它指向first_app,所以当你尝试添加指向demo_app的新遥控器时,它会失败。
看起来您正在尝试在已存在且已有远程存储库的存储库中初始化Git。确保在新目录中执行此操作。
答案 2 :(得分:0)
为防止您丢失历史记录,我们拒绝了非快进更新 在再次推送之前合并远程更改(例如'git pull')。
就像它试图告诉你的那样,推送正试图导致非快进更新。