0

我在一些开源博客软件上做了 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 clone 时,它​​会将其(您在图像中看到的)复制到我机器上的目录中(而不是博客应用程序)

在此处输入图像描述

我无法将 github 存储库中的博客软件克隆回我的机器上。同样重要的是要知道,当我试图弄清楚事情时,我也做到了

git push -u myblog

它说

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

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

4

1 回答 1

0

当您在 github 上创建存储库时,它会创建一个master包含 README 的分支。当你推送myblog分支时,你在myblog服务器上创建了一个分支,只留下一个master分支(仍然只是一个 README)。

看起来您已经将本地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.

于 2013-01-24T21:24:18.813 回答