2011-04-14 78 views
7

我有一個存儲庫中有大量的二進制文件(約250MB) - 我不知道這是否重要。Git發送大量數據後分支

我正在做一個新的分支,並試圖將其發佈在中央服務器上:

git checkout -b newbranch 
git push origin newbranch:newbranch 

現在這裏,Git是試圖推動數據的30MB到服務器。 爲什麼?沒有變化。

也試過發財了:

git bundle afile master..newbranch 
fatal: Refusing to create empty bundle. 

有什麼不對?

+0

這很有趣。好的問題模式(這個例子對證明上下文非常有用) – sehe 2011-04-14 10:20:00

+0

而'origin'實際上是你從原始分支中檢索到的遠程存儲庫? – KingCrunch 2011-04-14 10:40:59

+0

這是我從克隆的原始回購。 – stach 2011-04-14 11:07:02

回答

0

這與git存儲數據的方式以及推送的工作方式有關。我猜測,推新分支並不是導致數據傳輸的原因,但以前的提交也從源頭上被忽略。

這就是爲什麼Git的日誌文件,一個非常糟糕的主意 - 我傾向於甚至錯誤:)

+0

有點菸霧和鏡像的戰術 – sehe 2011-04-14 17:41:32

+0

不,使用新遠程的新結帳與現有結賬擁有相同的HEAD哈希值,因此一個提交未完成。 – stach 2011-04-14 19:24:41

+0

沒有任何提交_for該分支_ - 這並不意味着你的存儲庫中肯定沒有對象不在遠程,它只是意味着它們不是你的新分支的一部分。 – deanWombourne 2011-04-15 10:25:46

-1

也許不是一個有用的答案,將其添加到.gitignore文件以使他們從來沒有承諾,但我想這個確切的東西,和git沒有發送任何對象。所以也許在那裏有一個承諾,你沒有意識到。