【问题标题】:Upload project to empty gitlab repo to dev branch将项目上传到空 gitlab repo 到 dev 分支
【发布时间】:2021-12-27 23:33:22
【问题描述】:

我在 Gitlab 中有一个空的仓库,有两个空分支 master 和 dev。

我想将我的本地项目推送到 dev 分支而不是 master

所以我在下面尝试了

git init
git remote add origin <url>

git add .

git commit -m"Init"
git push origin dev

最后一步显示

error: src refspec dev does not match any
error: failed to push some refs to <url>

我也试过了

git checkout dev

之后

git remote add origin <url>

但同样的错误显示

error: src refspec dev does not match any

不明白为什么看不到dev分支

我需要先将项目推送到 dev 然后创建一个合并请求到 master。 我是 git 的初学者。我在这里阅读了很多关于推送到远程仓库的问题,但所有这些问题都在推送到主/主分支

【问题讨论】:

  • 使用git checkout -b dev创建分支,同时签出。

标签: git version-control gitlab


【解决方案1】:

不明白为什么看不到dev分支

因为您没有本地分支dev。在git init &amp;&amp; git add &amp;&amp; git commit 之后,您有一个本地分支master(或者可能是main)。所以如果你想把它推送到远程分支dev,正确的语法是

git push origin master:dev

这意味着“将本地分支master推送到远程分支dev”。请参阅docs

推送到不同名称的分支有点不方便,因此您可以通过将本地分支重命名为 dev 来简化您的生活:

git branch -m dev

请参阅docs

之后

git push origin dev

之所以有效,是因为它意味着“将 local 分支 dev 推送到 remote 分支 dev”。

【讨论】:

  • 感谢您的回复。我会试一试。然而,在我执行 git remote add origin 之后,我运行命令 git fetch ,然后 git checkout dev 然后 add & commit & push ,它被推送到 dev !但是您认为这是一种不好的方式,还是会导致我出现问题或者可以吗?
  • git checkout dev 之后,您现在位于另一个dev — 您从origin 获取的那个。你最好确认你的提交确实被推送了。
  • 好的,我知道了。但这很奇怪,因为我在 repo 中检查了提交被远程推送到开发人员,但仍然担心这是否不是正确的方式。在推送期间,我做了“git push origin dev”,不确定这是否有什么不同。
猜你喜欢
  • 1970-01-01
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多