我正在尝试将新的rails应用添加到现有的示例存储库中。我之前做过这个。我使用Rails 5.1.4和git 2.11.0在Google云平台计算引擎实例上使用当前的Debian。
简而言之,我可以添加一个新的rails应用程序,但如果我尝试从该应用程序的目录中添加/ commit / push ,我会收到错误。如果我从应用程序的顶级目录上方添加/ commit / push,一切正常。
重新创建这很简单。我用:
rails new foo
创建一个新的rails应用程序。然后我添加app,commit和push:
git add .
git commit -m "testing"
git push
这导致以下输出(缩写):
[master 95cb836]测试
更改了76个文件,1197个插入(+)
创建模式100644 railapps / foo / .gitignore
创建模式100644 railapps / foo / Gemfile
...
此时我没有问题。但是,当我进入该应用并尝试拉或推时,我会收到以下错误:
git pull
致命:未指定远程存储库。请指定URL或
应从中获取新修订版的远程名称。
git push
从命令行指定URL或配置远程存储库 使用
git remote add
然后使用远程名称推送
git push <name>
好的,很简单,只需指定遥控器,对吗?
git remote add origin git@github.com:pathto/myrepo.git
git push --set-upstream origin master
结果是:
错误:src refspec master与any匹配。
错误:未能将某些引用推送到'git@github.com:pathto / myrepo.git'
答案 0 :(得分:0)
在这种情况下,您不应使用--set-upstream
选项。
只需使用:
git push origin master
答案 1 :(得分:0)
所以我不确定何时添加它,但默认情况下rails(至少从版本5.1.4开始)现在将一个新项目初始化为空git repo(使用git init)。致电
rails new --help
显示
-G,[--skip-git],[ - no-skip-git] #Skip .gitignore file
但这是误导性的;它实际上并没有使用此选项调用git init,从而解决了问题。所以,如果我打电话
rails new whatever -G
问题并没有发生。