3 回答

TA貢獻1909條經驗 獲得超7個贊
如果--no-ff
標志git merge
檢測到您當前HEAD
是您嘗試合并的提交的祖先,則該標志會阻止執行“快進” ??爝M是指git只是將您的分支指針移動到指向傳入提交的位置,而不是構建合并提交。這通常發生在git pull
沒有任何本地更改的情況下。
但是,有時您希望防止此行為發生,通常是因為您希望維護特定的分支拓撲(例如,您正在合并主題分支,并且您希望確保在閱讀歷史記錄時看起來如此)。為了做到這一點,你可以通過--no-ff
標志和git merge
將始終構造一個合并,而不是快速轉發。
同樣,如果你想執行一個git pull
或者使用git merge
以便明確地快進,并且你想要在它不能快進時挽救,那么你可以使用該--ff-only
標志。通過這種方式,您可以不git pull --ff-only
經思考地定期執行某些操作,然后如果錯誤,您可以返回并決定是否要合并或重新綁定。

TA貢獻1825條經驗 獲得超4個贊
該--no-ff
選項確保不會發生快進合并,并始終創建新的提交對象。如果您希望git維護功能分支的歷史記錄,這可能是理想的。 在上面的圖像中,左側是使用后的git歷史git merge --no-ff
的示例,右側是可以使用git merge
ff合并的示例。
編輯:此圖像的先前版本僅指示合并提交的單個父項。合并提交有多個父提交,git用它來維護“特征分支”和原始分支的歷史記錄。多個父鏈接以綠色突出顯示。
- 3 回答
- 0 關注
- 2022 瀏覽
添加回答
舉報