【问题标题】:Git problem: error: src refspec origin does not match anyGit问题:错误:src refspec origin不匹配任何
【发布时间】:2019-02-23 00:46:38
【问题描述】:

我在类似主题中找到的任何信息都无法帮助我解决问题。

基本上,我正在做一个 git 项目。我通常的工作方式是:

git checkout -b new_branch   #Create a new branch

我使用 Julia 编程语言进行编程,使用 Atom 中的 Juno IDE。我在“dev”文件夹中有一个 Julia 包(对于那些进入 Julia 开发的人)。我对代码进行了一些更改。 Atom/Juno 让我提交它们。完成后我去 gt 写

git push git_user_name origin

这是有人告诉我的例行程序,虽然我对 git 不是很熟悉,但它总能奏效。直到现在,当我得到这个时:

error: src refspec origin does not match any.
error: failed to push some refs to 'git@github.com:JuliaPackage/JuliaSubPackage.jl.git'

就在一周前左右,我做了所有这一切,结果成功了。但现在我得到了这个错误。许多在线帮助线程似乎表明缺少初始提交,但我在这里做了几个提交。

有人对可能发生的事情有任何建议吗?

【问题讨论】:

  • git push username origin 几乎可以肯定是错误的。可能正确的是git push origin new_branch

标签: git julia atom-editor juno-ide


【解决方案1】:

你可能没有提交任何东西,试试这个:

git add *
git commit -m "my commit" 
git push origin git_user_name //instead of git_user_name origin

如果您想查看所有参考,也可以使用git show-ref。 然后你可以做一个git push origin HEAD:<your_branch>

如果这可行,您可能在推送到 master 之前创建了一个分支。

【讨论】:

    【解决方案2】:

    让我添加更多有关典型工作流程的 Julia 特定 cmets(并假设您的 git 存储库的标准配置)。

    1. 在包管理器模式下的 Julia 中,您编写 dev YourPackage
    2. 你去.julia/dev/YourPackage文件夹
    3. 运行命令git remote -v;确保您有权推送到origin(如果您尝试为未授予您对存储库写入权限的其他人创建的包做出贡献,则可能不正确)
    4. 运行git checkout -b your_branch
    5. 对代码进行更改
    6. 在包管理器模式下运行test YourPackage(以确保您的更改通过了包中定义的测试)
    7. 使用git addgit commit 提交更改
    8. 运行git push --set-upstream origin your_branch(如果您无权推送到origin,这将失败 - 请参见上面的步骤3);如果分支是较早在遥控器上创建的,而您只想向其添加一些提交,则只需编写 git push 就足够了
    9. 当您对更改感到满意并完成功能开发时,您很可能会希望:
      • squash 将您在分支中所做的提交合并到源中的 master 分支
      • 您可以选择发布软件包(然后当您离开 dev 模式时,包含您所做更改的软件包版本将可用)
      • 在本地和origin 中删除your_branch
      • 使用来自originmaster 在本地更新master

    【讨论】:

    • 这行得通!不太确定如何,但“git push --set-upstream origin your_branch”似乎可以解决问题。谢谢
    猜你喜欢
    • 2022-07-14
    • 2017-03-05
    • 2012-05-21
    • 2011-08-13
    • 2014-02-11
    • 1970-01-01
    • 2013-03-28
    • 2022-12-06
    相关资源
    最近更新 更多