git推送分支src refspec与任何

git推送分支src refspec与任何,git,branch,push,Git,Branch,Push,我想克隆一个分支,进行更改,然后推进到同一个分支 我正在这样做: mkdir myfolder cd myfolder git init git clone "myurl" -b "mybranch" git remote add origin "myurl" edit "myfile.txt" git add "myfile.txt" git commit -m "my comment" git push origin "mybranch" 但我有一个错误: error: src refsp

我想克隆一个分支,进行更改,然后推进到同一个分支

我正在这样做:

mkdir myfolder
cd myfolder
git init
git clone "myurl" -b "mybranch"
git remote add origin "myurl"
edit "myfile.txt"
git add "myfile.txt"
git commit -m "my comment"
git push origin "mybranch"
但我有一个错误:

error: src refspec "mybranch" does not match any 
error: failed to push some refs to "myurl"

我该怎么办?

您可以明确指定要推送到哪个远程分支:

git推送源myBranch:现有的\u远程\u分支

实际上,您似乎执行了许多过多的步骤,通常工作流要简单得多。也值得一查

更新:

假设git是相对现代的,我将如下所示:

git clone "$myurl" "$myfolder"
cd "$myfolder"
git checkout "$mybranch"
git remote set-head origin "$mybranch"
... add and commit your changes here ...
git push origin "$mybranch"

我想问一下,为什么要创建两个不同的git存储库,一个在“$myfolder”中,另一个在“$myfolder/”中?这是预期的行为吗?(我可以想象它可能有用的情况,但它们充其量只是“角落案例”)

您可以明确指定要推送到哪个远程分支:

git推送源myBranch:现有的\u远程\u分支

实际上,您似乎执行了许多过多的步骤,通常工作流要简单得多。也值得一查

更新:

假设git是相对现代的,我将如下所示:

git clone "$myurl" "$myfolder"
cd "$myfolder"
git checkout "$mybranch"
git remote set-head origin "$mybranch"
... add and commit your changes here ...
git push origin "$mybranch"

我想问一下,为什么要创建两个不同的git存储库,一个在“$myfolder”中,另一个在“$myfolder/”中?这是预期的行为吗?(我可以想象一些可能有用的情况,但它们充其量只是“角落案例”)

如果您想推送到一个与本地分支名称不同的远程分支,请用冒号分隔本地和远程名称:

git push origin local-name:remote-name

如果要使用与本地分支不同的名称推送到远程分支,请使用冒号分隔本地和远程名称:

git push origin local-name:remote-name

所以,如果我只克隆了一个分支,那么在我的本地存储库中,我似乎是在master中。我应该执行git推送原始主机:mybranch,对吗?什么是更简单的工作流程?嗨,这是一个很好的观点,非常感谢你以正确的方式指导我。我去看看,然后告诉你。现在非常感谢。所以,如果我只克隆了一个分支,那么在我的本地存储库中,我似乎是master。我应该执行git推送原始主机:mybranch,对吗?什么是更简单的工作流程?嗨,这是一个很好的观点,非常感谢你以正确的方式指导我。我去看看,然后告诉你。现在非常感谢。可能的副本可能的副本