我需要挑選一系列提交,在那里我發現了這樣的提交:
Merge "TICKET-100: Some commit message" into master
< some other commits >
TICKET-100: Some commit message
我檢查了兩次提交的內容和相同的內容。我可以只挑選第一個,而忽略以“合并”開頭的那個嗎?它們有什么關系?
uj5u.com熱心網友回復:
讓我們假設你有這樣的事情:
X - master
|
|
M
|\
| \
X B - merged_feature_branch
| |
| |
X A X - cherry_pick_destination
| / |
|/ |
X X
| /
| /
現在你有兩個選擇:
- 只有櫻桃采摘
A和B M對第一父母的櫻桃采摘(-m 1)
兩種解決方案都將引入相同的更改,但恕我直言,第一種方法更具可讀性。如果在提交時解決了某些沖突,M則可能首選第二個選項..
uj5u.com熱心網友回復:
如果您必須在沒有合并提交的情況下挑選一系列提交,而不是做
git cherry-pick A..B
您可以將范圍放入抑制合并提交的子命令中:
git cherry-pick $(git rev-list --no-merges A..B)
uj5u.com熱心網友回復:
也許你可以在合并之前重新提交你的提交?嘗試這樣的事情:
git rebase -i HEAD~[commits count]
現在您必須看到一個包含所選提交的串列。在您想要壓縮所有其他提交的第一個提交之前,必須是一個 command pick。
squash- 如果你想更改提交訊息fixup- 如果不是。
變基后,您可能只能合并選擇的更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454772.html
標籤:混帐
下一篇:將大于5GB的資料幀發送到S3
