2012-12-10 74 views
2

我正在嘗試將一些提交壓縮到一個github項目的pull-request-ready包中,我希望能夠貢獻一下,但是使用git rebase -i master並沒有給我我期望的選項(基於閱讀StackOverflow和其他地方)這是我第一次試圖壓縮提交,所以我可能只是缺少一些東西。當rebase是一個沒有運行的時候壓扁git提交

該項目的歷史是沿着:

# On branch master 
git pull origin master 
git fetch upstream 
git rebase upstream/master 
git checkout -b feature 
git commit -m "some work" 
git commit -m "a little more work" 
git commit -m "finishing up feature" 
git checkout master 
git pull origin master 
git fetch upstream 
git rebase upstream/master 
git checkout feature 

在這一點上已經出現了產地/主或上游/大師沒有變化,因此即使沒有基礎重建我的特性分支是LINEA r既有起源又有上游。當我做git rebase -i master時,我的任何提交都沒有在彈出的編輯器中列出,這是完全空白的,並且rebase的輸出是Successfully rebased and updated refs/heads/feature

我知道我可以使用

git checkout master 
git merge --squash feature 

,但我的理解是,我將失去所有的歷史,如果我這樣做。

是否有另一種方式來完成我想要的,或者我只是想念明顯?

UPDATE

我希望看到的是與我在我的特性分支的上市,這樣我可以選擇挑選哪些,哪些壁球提交的編輯。我真正看到的是一個空白的編輯器,這讓我想知道是否因爲我的當前分支與我的主分支是線性的,沒有需要重新分配,因此編輯器中沒有提交任何提交(儘管我想我會希望得到「沒有東西可以重新定位」類型的消息,而不是上面提到的成功消息)

+0

'git rebase -i master'應該做你想要的東西,如果你有'功能'簽出。如果你不在'功能'上,試試'git rebase -i master feature'。 – Koraktor

+0

我絕對是在'功能'上,並嘗試您的建議結果在相同的行爲,但謝謝! – cori

+0

那麼你期望什麼選擇,你真正看到了什麼? – Useless

回答

0

正如在評論中指出的那樣,問題根本不在git rebase -i master命令中,而是與我的編輯器,而不是處理從git輸入以適當地顯示可用的提交。

更改爲其他編輯器可解決問題。