我在一些开源博客软件上做了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帐户上时,它会将您(在图像中看到的内容)复制到我的计算机上的目录中。而且,有没有办法解决这个问题?
答案 0 :(得分:0)
当你在github上创建了存储库时,它创建了一个带有README的master
分支。当您按下myblog
分支时,您在服务器上创建了一个myblog
分支,只留下master
分支(仍然只是自述文件)。
看起来您已经将本地master
分支更改为不再与删除master
分支直接相关(因此非快进消息)。如果您想忘记旧的master
内容,可以强制git使用git push -f
覆盖服务器的版本。
当你push
没有指定分支时,默认(在git 2.0中更改)是推送所有匹配的分支。因此,myblog
和master
都将被推送(假设它们都存在于本地和远程存储库中)。如果您只想推送myblog
而不担心与master
发生冲突,则可以指定名称,即git push myblog myblog
。
或者,您可以将默认推送行为切换为simple
(git 2.0中的新默认值),这将只推送当前分支(假设名称在本地和远程之间匹配)。使用git config push.default simple
执行此操作。