我曾在我的私有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
feature
是git flow
中的默认分支。谢谢你的回答。 - newBikefeature
是一个分支命名空间。你可以使用 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