[英]pushing a branch to a new repository on github
我在某些开源博客软件上进行了git clone,然后在本地计算机上创建了一个分支,称为myblog
。 因此,当我推送到github时,我无法做
git remote add origin https://github.com/Me/myrepository.git
因为起源已经存在,是我克隆的。
因此,我做到了
git remote add myblog https://github.com/Me/myrepository.git
我之所以做“ myblog”,是因为它是我分支的名称,也许这不是必需的。 为了推动我曾说过要推动你的指示
git push origin master
但是因为我没有推动起源,也没有推动大师,所以我做到了
git push myrepository myblog
但它说“ myrepository”似乎不是git存储库。 然后我做了
git push myblog myblog
第一个“ myblog”用于存储库,第二个用于我的分支。 这种推动奏效了。 实际的应用程序在我的github帐户上。 我能看到它。 但是,当我尝试对其进行git克隆(即,我推送的应用程序)时,它将其(在图像中看到的内容)复制到了我的计算机上的目录中(而不是博客应用程序)
我无法将github存储库中的博客软件克隆回到我的机器上。 重要的是要知道,在我试图弄清事情的同时,我也做了
git push -u myblog
它说
! [rejected] master -> master (non-fast-forward)
我的问题:为什么当应用程序实际位于我的github帐户上时,为什么将其(在图像中看到的内容)复制到我的计算机上的目录中。 而且,有没有办法解决这个问题?
当您在github上创建存储库时,它创建了一个内部分支与README的master
分支。 当您推送myblog
分支时,您在服务器上创建了一个myblog
分支,而没有留下master
分支(仍然只是README)。
此后,您似乎已将本地master
分支更改为不再与remove master
分支直接相关(因此出现了非快速转发消息)。 如果您想忘记旧的master
内容,则可以使用git push -f
强制git覆盖服务器的版本。
当您不指定分支而进行push
,默认值(将在git 2.0中更改)是推送所有匹配的分支。 因此, myblog
和master
都将被推送(假设它们都存在于本地和远程存储库中)。 如果您只想推送myblog
而不担心与master
冲突,则可以指定名称,即git push myblog myblog
。
或者,您可以将默认的推送行为切换为simple
(git 2.0中的新默认值),它将仅推送当前分支(假设名称在本地和远程之间匹配)。 使用git config push.default simple
做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.