【问题标题】:no remote repository specified from new rails apps没有从新的 Rails 应用程序指定远程存储库
【发布时间】:2018-05-19 07:36:59
【问题描述】:

我正在尝试将新的 Rails 应用程序添加到现有示例存储库。我以前做过。我在谷歌云平台计算引擎实例上使用当前的 Debian,使用 Rails 5.1.4 和 git 2.11.0。

简而言之,我可以添加一个新的 Rails 应用程序,但是如果我尝试从该应用程序的目录中添加/提交/推送 ,我会收到错误消息。如果我从应用程序的顶级目录上方添加/提交/推送,一切正常。

重新创建它很简单。我用:

rails new foo

创建一个新的 Rails 应用程序。然后我添加应用程序、提交和推送:

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 远程添加

然后使用远程名称推送

git push <name>

好的,很简单,只要指定遥控器,对吧?

git remote add origin git@github.com:pathto/myrepo.git

git push --set-upstream origin master

结果:

错误:src refspec master 不匹配任何内容。

错误:未能将一些参考推送到 'git@github.com:pathto/myrepo.git'

【问题讨论】:

    标签: ruby-on-rails git github


    【解决方案1】:

    在这种情况下,您不应使用--set-upstream 选项。 只需使用:

    git push origin master
    

    【讨论】:

      【解决方案2】:

      所以我不确定这是什么时候添加的,但默认情况下,rails(至少从版本 5.1.4 开始)现在将一个新项目初始化为一个空的 git repo(使用 git init)。打电话给

      rails new --help
      

      表演

      -G, [--skip-git], [--no-skip-git] # 跳过.gitignore文件

      但这是误导;它实际上根本不使用此选项调用 git init ,从而解决了问题。所以如果我打电话

      rails new whatever -G
      

      问题没有发生。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-13
        相关资源
        最近更新 更多