Git push错误 "error: src refspec xxx does not match any." 使用Git Flow。

6

我曾在我的私有Git服务器上创建了一个仓库

git init --bare
Initialized empty Git repository in /home/poc/git_repo/local_display_multi_langs            .git/

然后我尝试在我的Mac上的工作副本中添加远程

git remote add origin ssh://poc@172.19.16.101/home/poc/git_repo/local_display_multi_langs.git

执行了以下命令

  514  git flow init
  519  git flow feature start read_xml
  524  git ci -am "first ci"

接着尝试将所有分支推送到私有 git 服务器的仓库,结果出现以下异常:

[src] $ git push origin feature
poc@172.19.16.101's password:
error: src refspec feature does not match any.
error: failed to push some refs to 'ssh://poc@172.19.16.101/home/poc/git_repo/local_display_multi_langs.git'

我是否错过或误用了某些步骤?

如何将我的所有分支推送到远程服务器上?

然后,当我从git服务器克隆项目时。

如何确保新克隆的项目和原始项目完全相同。

谢谢

感谢@VonC

现在,我可以通过以下命令将本地工作副本上的所有分支推送到远程服务器:

git push origin --all

但是,当我在另一个文件夹下执行git clone ssh:// poc@172.19.16.101 /home/poc/git_repo/local_display_multi_langs.git时。

[local_display_multi_langs] $ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/feature/read_xml
  remotes/origin/master

我看到了上述对我来说很奇怪的分支。

因为我希望得到与原始工作副本相同的结果,如下所示。

有没有办法从我的远程服务器克隆并恢复状态为原始工作副本?

[local_display_multi_langs] $ git br
  develop
* feature/read_xml
  master
1个回答

2
如何将我的工作副本上的所有分支推送到远程服务器?
您至少可以执行以下操作:
git push origin --all

'feature' 是 git-flow 的一个命令,而不是分支的名称。
请参见 gitflow cheatsheet
'feature' 被翻译成分支的 命名空间,定义了一个 分支层次结构
只推送这些特性分支:
git push origin refs/heads/feature/*:refs/remotes/origin/feature/*

或者你可以在 .gitconfig 文件中注册 refspec


我以为 featuregit flow 中的默认分支。谢谢你的回答。 - newBike
@poc 不是的,feature 是一个分支命名空间。你可以使用 refspec(http://git-scm.com/book/en/Git-Internals-The-Refspec)推送只有 feature 分支es,如 git push origin refs/heads/feature/*:refs/remotes/origin/feature/*(或在你的 .gitconfig 中指定该 refspec:https://dev59.com/questions/BHI-5IYBdhLWcg3wVWpi#1915046)。 - VonC
抱歉,我对Git中的命名空间一无所知。我会学习相关知识的。顺便问一下,我如何通过从我的服务器进行git克隆来获取“相同”的工作副本? - newBike
@poc git clone 将克隆 所有 远程分支:https://dev59.com/YXVD5IYBdhLWcg3wKYP-#72156。(除非你克隆了一个克隆体:https://dev59.com/21XTa4cB1Zd3GeqP6fAZ)。如果您希望这些分支在克隆后作为自己的本地分支可见,则需要创建它们:https://dev59.com/F3RC5IYBdhLWcg3wMeHf#6300386。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接