在分支母版上意外执行的“ Git push origin master”

pni*_*zle 5 git version-control push commit github

我在master之外创建了一个本地Git分支(我们称其为BranchB)。然后,我在该分支(到BranchB)上提交了更改。但是当需要将其推送到远程存储库时,给我带来了太多的咖啡,我写了很多书,git push origin master而不仅仅是git push将新的分支推送到存储库。

然后,我进入GitHub,查看master上的提交。我最近不小心推动的更改没有出现在这里?

那么当我在B分支上推向大师时到底发生了什么?自从我指定master以来,这是否只是推送对master所做的提交。

Rom*_*eri 4

<refspec>在此处作为推送参数提供的是master,其中完整的规范形式是<src>:<dst><src>即推送的源和<dst>目标引用。当你省略一个时,git 假设你的参数是<src>并且没有<dst>给出。在这种情况下,如果分支有一个<repository>.push配置集(因此在大多数情况下),则该引用将用作推送的源。

所以是的,它将 master (没有新的提交)推送到其远程副本。无害无操作。

(也许可以检查您自己的配置git config -l | grep origin或类似的内容。)

可以使用明确的命令将 BranchB 推送到 master 上:

git push origin BranchB:master
Run Code Online (Sandbox Code Playgroud)

这就是我从文档中理解的内容,即git-push 手册页中段落<refspec>。似乎对你的结果有意义。