繁体   English   中英

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

[英]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中更改)是推送所有匹配的分支。 因此, myblogmaster都将被推送(假设它们都存在于本地和远程存储库中)。 如果您只想推送myblog而不担心与master冲突,则可以指定名称,即git push myblog myblog

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM