簡體   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