将分支推送到github上的新存储库

时间:2013-01-24 20:54:11

标签: git 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克隆(即我推送的应用程序)时,它会被复制 这个(你在图中看到的)进入我机器上的目录(不是博客应用程序)

enter image description here

我无法在我的机器上克隆我的github存储库中的博客软件。 同样重要的是要知道,当我试图解决问题时,我也做了

git push -u myblog

它说

! [rejected]        master -> master (non-fast-forward)

我的问题:为什么当应用程序实际上在我的github帐户上时,它会将您(在图像中看到的内容)复制到我的计算机上的目录中。而且,有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

当你在github上创建了存储库时,它创建了一个带有README的master分支。当您按下myblog分支时,您在服务器上创建了一个myblog分支,只留下master分支(仍然只是自述文件)。

看起来您已经将本地master分支更改为不再与删除master分支直接相关(因此非快进消息)。如果您想忘记旧的master内容,可以强制git使用git push -f覆盖服务器的版本。

当你push没有指定分支时,默认(在git 2.0中更改)是推送所有匹配的分支。因此,myblogmaster都将被推送(假设它们都存在于本地和远程存储库中)。如果您只想推送myblog而不担心与master发生冲突,则可以指定名称,即git push myblog myblog

或者,您可以将默认推送行为切换为simple(git 2.0中的新默认值),这将只推送当前分支(假设名称在本地和远程之间匹配)。使用git config push.default simple执行此操作。

相关问题