[英]Develop branch is behind after merging into master using Gitlab MR
本質上,git 只有一種跟蹤歷史的方式:每個提交都有零個或多個父級。 通過從提交向后跟蹤其父項及其父項,git 可以確定該提交歷史中的提交。
當你合並兩個分支時,比如說develop成master,你有三個選擇:
當您下一次要求合並相同的分支時,git 將查找在開發上存在但在主控上不存在的提交。 如果您選擇了選項 3,那么您從其中壓縮更改的所有提交仍屬於該類別。
教訓是只在你以后要扔掉的樹枝上使用壁球合並。 例如,您處理的每個任務都可以在一個新分支中; 你從develop(或master,或main,或任何地方)的當前state啟動它,擠壓合並它,然后刪除分支。 下一個任務再次從開發/主/主開始,而不是從舊任務分支開始,所以你壓扁的舊提交不再重要。
或者(和我個人的偏好),不要使用壁球合並。 使每個提交有意義,使用git rebase -i
和git commit --amend
來整理您不希望在歷史記錄中出現的愚蠢錯誤(小心只重寫您未與其他用戶或其他分支共享的歷史記錄) ,然后使用快進合並或合並提交。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.