我正在嘗試將一些提交壓縮到一個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
我希望看到的是與我在我的特性分支的上市,這樣我可以選擇挑選哪些,哪些壁球提交的編輯。我真正看到的是一個空白的編輯器,這讓我想知道是否因爲我的當前分支與我的主分支是線性的,沒有需要重新分配,因此編輯器中沒有提交任何提交(儘管我想我會希望得到「沒有東西可以重新定位」類型的消息,而不是上面提到的成功消息)
'git rebase -i master'應該做你想要的東西,如果你有'功能'簽出。如果你不在'功能'上,試試'git rebase -i master feature'。 – Koraktor
我絕對是在'功能'上,並嘗試您的建議結果在相同的行爲,但謝謝! – cori
那麼你期望什麼選擇,你真正看到了什麼? – Useless