2017-02-24 60 views
1

這是正常的中間提交無法編譯或以其他方式破壞feature分支gitflow模型。平分中斷gitflow樣式git存儲庫中斷提交

只有事情是在合併點處穩定到develop分支的地方審查和自動測試應用。

可以git平分過develop分支沒有擊中功能分支中斷的中間提交?

我不喜歡我的適應測試對開scrips跳過/解決方法從功能開發打破提交...

一種方式我想解決一個問題,就是告訴莫名其妙的Git只走跨越合併變更..

回答

1

考慮到方式git bisect pick the next commit to examine(通過PRNG - 僞隨機數發生器),你可以考慮做一個包裝。

這包裝會:

  • 呼叫git bisect
  • 對於每次提交,它會仔細檢查是否犯有不止一個單親
  • 如果不是,它會叫git bisect skip

這樣,你的平分測試腳本保持不變。

解決方法在「How do you get git bisect to ignore merged branches?」中由David Ness描述。

我寫了一個Python script to help do this on GitHub
如果您運行此腳本,它將嘗試向後追蹤並追蹤您的分支,併發出提交id列表,這些提交id是合併到您的分支中的分支的提示。
通過此列表,您可以將這些列表提供給「git bisect good」,然後bisect將忽略合併分支上的所有提交,從而實現期望的結果。

這可能不是你的情況,但這個想法仍然存在:計算你不想要的提交列表,並將它們提供給git bisect good

+0

是否有可能告訴'git bisect'只在DAG中使用* left * child?我們可以在審閱/整合服務器中強制執行合併提交的指示。 – gavenkoa

+0

@gavenkoa直到Git 2.4:看到我的評論http://stackoverflow.com/a/5639046/6309 – VonC

+0

@gavenkoa我剛剛提到的那個鏈接問題包括我在我的答案中引用的可能的解決方法。 – VonC