2017-02-24 70 views
3

我有一個Git分支develop,並在該分支,有一些提交那些剛剛調試語句,不應該在生產。同時,我想創建一個從develop分支pull請求到我們feature分支,但我不希望包括調試的提交。混帳保持一定的提交拉出的請求

這似乎是我的兩個選擇這樣做是:(1)創建develop-copy分支,從分支刪除相應的提交,並從develop-copy做PR或(2)刪除相應的從develop承諾,使PR,然後櫻桃選擇提交回develop。這兩種都很痛苦。

有沒有辦法只推一組特定的提交,或有兩個分支是除了這些提交對方的副本?謝謝。

+0

如果你想推只有特定的承諾,你可以看看這個答案http://stackoverflow.com/questions/3230074/git-pushing-specific-commit – afonte

+0

我想這是一個選項,擠壓一切不提供調試提交,然後推送該提交。 – jay

回答

0

有沒有辦法只推送一組提交或有兩個分支是彼此的副本除了這些提交?

不可以。您只能推送對提交的引用,並且提交由它們的內容及其父母定義。

老實說,而不是在不同的提交雜耍調試語句,你應該弄清楚如何讓他們在優化,但他們出去進行生產。

+0

同意,但我的隊友抱怨調試聲明在代碼評論中產生噪音。 (這是公平的,他們做的。) – jay

+0

在這種情況下,我會確保你的調試語句在自己提交,只是把它們用'變基--interactive'你要求審查之前。這就是說,考慮爲什麼你需要這麼多的調試語句,以分散代碼審查。我通常發現,雖然YMMV,單元測試覆蓋率比調試語句更能理解代碼。 – dahlbyk

0

另一種選擇,如果你是唯一一個分支上的工作,是rebase it interactively

git checkout develop 
git rebase -i 
# reorder commits 
git push --force 

然後,您可以重新排序提交,把調試那些在過去

然後你就可以做出一個新的分支,從最後一個非調試開始提交,推,然後從該新的分支讓你的PR。

0

只要做一個交互式轉化,git rebase master -i,並刪除或fixup隨機提交你想要的拉出請求。

pick fdfb01e Real commit 
# pick a382ce3 Debugging some random issue 
# pick 02ff8dc Remove debugging code 
fixup ddf5e91 Add missing semicolon 
pick 73c7e11 Real commit