我在名爲blaBla的分支上工作。 master
從其他人處獲得大量提交。爲了保持與主人更新blaBla我做頻繁的git拉大師併合併到blaBla。但是這使得我的分支混亂不堪。我想合併所有新的已發生的提交到一個,然後合併到我的分支。所以當我做git log
時,我只看到屬於該分支的提交以及那些單獨的合併提交。沒有別的Git在合併之前合併提交
回答
我想合併所有在主發生的新提交到一個,然後合併到我的分支。
你真的不想這樣做。爲使從master
變成一個特性分支的唯一合理的選擇是:
做一個正常
git merge master
沒有擠壓其提交,這樣的Git可以告訴它提交您的特性分支有共同之處master
(否則你可能遭受無數合併衝突)。否則,壓縮的合併提交中的所有新變化看起來像是它們的新功能的一部分 - 並不好。做一個
git rebase master
重播您的分支的最新變化master
。這是我首選的工作流程,因爲它將您的更改構建爲「自從master
以來的更改」,無論您開始使用哪個master
,但它帶有重寫歷史記錄的所有常見風險(例如,如果要將git push --force
更改爲其他人依賴的分支)。
更新,以反映接受的答案:或者改變你如何可視化的提交。 git log --first-parent
將隱藏合併到當前分支的提交。雖然通常用於可視化master
(哪些功能分支已合併),但它也可以排除已合併到功能分支中的master
提交。
似乎有一些方法可以做到這一點,但如果您只是在本地進行此操作,它可能會使您的更改變得更難掌握。 Git的真不喜歡在所有
正如你所說修改歷史是一個很大的禁忌。我不想修改主人。只要將它的提交合併到我的分支,不要碰其他任何東西。也許這更像是一個git log可視化的東西,而不是實際的組合提交。所以,當你做'git log'時,你所看到的只是我的提交,單合併事件以及合併衝突的相關修復。沒有其他數千個提交看到 –
- 1. 在提交到當前頭之前合併Git狀態
- 2. 的Git合併提交
- 3. Git合併提交丟失
- 4. Git合併跳過提交
- 5. git撤消合併提交另一個合併提交
- 6. Git:合併衝突並提交消息
- 7. Subversion合併提交和前次提交
- 8. git顯示前幾個提交回合併基的提交
- 9. git:合併兩個分支並提交提交
- 10. Git創建合併提交,儘管它執行快速合併
- 11. Git合併子分支之前合併到主
- 12. Git合併 - 不提交跟蹤文件
- 13. 沒有自動提交的git合併
- 14. git - 合併時跳過特定提交
- 15. 的git remove從合併提交
- 16. Git合併中間提交的分支
- 17. Git:只合並一個提交
- 18. 壓縮Git合併後提交
- 19. 修復git中的合併提交
- 20. 合併幾個提交。 Git的變基
- 21. Git合併主無需恢復提交
- 22. git合併重新提交提交到另一個提交?
- 23. git合併分支 - 不想在遠程分支基地之前提交
- 24. 在TFS中合併提交
- 25. 爲什麼git提示我提交後合併提交消息?
- 26. 與當前提交的祖先合併
- 27. 取消提交長達前合併
- 28. 混帳:移動提交前合併
- 29. git修改併合並一個不在主的提交
- 30. 在推送之前將多個提交合併爲一個
所以在這兩個我塞滿我的本地分行與數千人發生在主犯下的歷史被改寫。如何跟蹤我的分支更改,然後觸摸master中的小目錄?如果你在每次提交幾次後頻繁合併滾動你的commtis似乎是一個不可能的任務,除非通過成千上萬的主提交滾動來查找你的分支的東西 –
我所關心的只是看到我的提交,單一合併提交和沒有其他的相關修復衝突。我怎麼做? –
一種選擇是使用'git log --first-parent'來查看你的分支 - 你會看到「合併分支'master'到blaBlah'(及其衝突解決方案),但不是合併的提交。」 我不明白「混亂我的本地分支」關於「rebase」的評論 - 如果您認爲分支是「從master分支後發生的變化(即'git log master..'),post-'rebase '你會繼續看到同一系列的提交。 – dahlbyk