2012-11-29 64 views
0

我試圖讓在git的一個新的空白分支......我想在這裏說明:不能推一個新的空白的Git分支

http://www.bitflop.com/document/116 這裏:

http://schacon.github.com/gitbook/5_creating_new_empty_branches.html

他們似乎給出了同樣的結果,它似乎已經做了一個新的分支,但推空白分支失敗。 (它總是打印出類似!rejected TEST->TEST non fastforward的東西)。

此外,Windows彈出一個對話框說Git崩潰。我從1.7.11升級?到git站點的最新1.8版本,結果相同。

我還以爲奇怪的是git branch沒有顯示新的分支名稱。這是git中的一個已知錯誤,還是我做錯了什麼?

+0

定義「空」。你的倉庫中有零提交嗎? – mpontillo

+0

我想做一個沒有提交的空分支,而不是基於/分支出另一個分支。 – NoBugs

+0

即將到來的分支中的代碼如何與存儲庫中已有的代碼相關聯? – mpontillo

回答

0

有幾件事情要在這裏籤:

首先,Git的服務器將阻止每一個非快速向前推分支。這是爲了防止數據丟失。要強制執行此操作,您必須將--force標誌添加到命令git push origin TEST --force小心:這將刪除所有包含在原產地/測試中的獨特提交,最終它們將丟失(如果我沒有記錯的話,在6個月內)。在你的情況,它看起來像分支TEST已經存在於服務器上;是這種情況,你知道爲什麼嗎? (因爲你可能不想覆蓋它,如果分支包含的是有價值的)

另外,由於你基本上刪除歷史創建了一個新的分支,你應該確保你至少有一個初始提交在你的科。使用git log檢查了這一點。

+0

這就是爲什麼當我測試一些東西時,我總是使用一個名字,比如嘗試這個。幾乎沒有人有,例如名爲「試用這個」的分支。 – ebneter

+0

我做的新分支不是測試。我想知道爲什麼這些指令似乎沒有成爲一個分支,至少,它沒有出現在'git branch'中。爲什麼它需要 - 當它是一個新的分支?鏈接的教程沒有提到有關--force的任何信息。 – NoBugs

+0

只要你沒有提交分支,理論上就不存在。你是否確信你的新分支至少有一個初始提交? –