Git:如何从“推”;“无分支机构”;到一个新的远程分支?
我做到了: 我可以在不创建本地分支的情况下推送到新分支吗?试试看Git:如何从“推”;“无分支机构”;到一个新的远程分支?,git,branch,push,remote-branch,Git,Branch,Push,Remote Branch,我做到了: 我可以在不创建本地分支的情况下推送到新分支吗?试试看 $ git push origin ignore-netbeans-config error: src refspec ignore-netbeans-config does not match any. 让我们先澄清一些小细节: 分支是refs/heads命名空间下的“ref”。只要ls.git/refs/heads和cat那里的文件就可以明白我的意思 标签在refs/tags名称空间下为“ref”。只需ls.git/refs
$ git push origin ignore-netbeans-config
error: src refspec ignore-netbeans-config does not match any.
让我们先澄清一些小细节:
refs/heads
命名空间下的“ref”。只要ls.git/refs/heads
和cat
那里的文件就可以明白我的意思refs/tags
名称空间下为“ref”。只需ls.git/refs/tags
就可以自己查看了HEAD
只是另一个“ref”,但它的特殊之处在于它可以是“符号”。只需cat.git/HEAD
看看它说了什么push
操作对“ref”进行操作,默认的“映射”保留名称空间。这意味着,当我按下一个分支时,它将在遥控器上显示为一个分支;当我按下标签时,它将在遥控器上显示为标签。考虑下面的场景:
moo
,使其在远程服务器上显示为一个分支(是的,我实际上是在将标记“转换”为分支)。我将这样做:
git推送原点moo:refs/heads/moo
master
、next
和pu
,其中只有pu
是非ff。我将这样做(请注意,在使用+
时,必须提供显式映射):
git下一步推送原始主机+pu:pu
HEAD
,使其作为名为“ignore netbeans config”的分支出现在远程服务器的refs/heads
命名空间中。如果此分支以前不存在,或者您正在覆盖其中的某些提交(即非ff推送),请使用+
。否则,不要。最终结果:
git-push-origin+HEAD:refs/heads/ignore-netbeans-config
TL;DR版本:
git推送原点+HEAD:refs/heads/ignore netbeans config
问得好!当然,如果您可能在此处进行任何进一步的编辑,您可能希望继续创建一个分支以确保安全。您应该能够省略其中的“refs/heads/”部分。我想如果它不存在,您必须明确。感谢您的解释!
$ git push origin ignore-netbeans-config
error: src refspec ignore-netbeans-config does not match any.
git push origin HEAD:refs/heads/ignore-netbeans-config