2015-10-08 48 views
1

爲什麼在明確合併--no-ff標誌將某些功能分支標記到乾淨的主分區(自分支後沒有新提交)之後,我可以在檢出主分支時看到特徵分支的完整提交歷史記錄?合併後沒有快進選項的分支歷史記錄

的情況可能與此ASCII圖來表示:

A-----------E -> master # E is a merge commit 
\  /
    B---C---D -> feature 

如果事情發生在主,我想恢復它犯了,在歷史上以前的穩定點,我不得不有些過濾承諾乙,C和D,因爲一個簡單的git log --oneline顯示它們(可能有--not feature參數?)。在某種意義上它是合乎邏輯的,因爲這些提交可以從主控端獲得。

我的用例是一個具有臨時特性分支的原始大師,根據需要,我猜很常見。項目通常如何處理這種持續集成方案?

回答

0

在行之間讀取,也許你想要使用的是git merge --squash

見接受的答案這裏更多:How to use git merge --squash?

道歉,如果這不回答這個問題的明確。我希望它能回答一個隱含的問題。

+0

同時我發現'git revert [-m parent-number]'。有人說重寫歷史不是一個好主意,其他人認爲不同http://jamescooke.info/git-to-squash-or-not-to-squash.html – miquecg

+0

我不使用'git --squash'我自己,而且我也不使用'rebase'。但他們值得了解。 git不只有一個答案。 –

+0

也許只是格式化'git log'輸出的問題。 ' - first-parent'可以做到這一點......無論如何,我想讀另一個意見:) – miquecg

相關問題