[英]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中更改)是推送所有匹配的分支。 因此, myblog
和master
都將被推送(假設它們都存在於本地和遠程存儲庫中)。 如果您只想推送myblog
而不擔心與master
沖突,則可以指定名稱,即git push myblog myblog
。
或者,您可以將默認的推送行為切換為simple
(git 2.0中的新默認值),它將僅推送當前分支(假設名稱在本地和遠程之間匹配)。 使用git config push.default simple
做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.