我想保留合併分支的分支信息,所以我設置了branch.master.mergeoptions=--no-ff
。這樣,即使可以快速轉發,也始終會生成合並提交。如何使用git pull自動保存合併提交--rebase?
然而,副作用是在執行git pull
(更具體地說是IntelliJ或Eclipse中的更新)時創建了合併提交。爲了防止日誌充滿Merge remote-tracking branch 'origin/master'
,我還設置了branch.master.rebase=true
,它在將它拉動時將master
快速轉發到origin/master
。
此設置還有另一個副作用:當我將一個分支合併到master
之後,因爲我忘記在合併之前這樣做,我的分支信息丟失了:功能分支在master
中被夷爲平地。
命令git pull --rebase=preserve
正是我需要的:它將重新生成master
,然後再次應用分支的合併。但是我需要自動完成這些工作,因爲大多數這些命令都是由Eclipse或Intellij執行的。我想git pull
實際執行git pull --rebase=preserve
有一個config setting pull.rebase=preserve
應該做到這一點,但即使我設置此配置,git pull
會做只是一個git pull --rebase
,而不是預期的git pull --rebase=preserve
,而我目前使用Git版本2.12。 2,預計將包含該功能。
那麼我怎麼能確保當我在我的主人上做git pull
時,即使我沒有在合併之前更新我的主人,它也會保留我的合併提交?
我實際上並不關注你,但爲什麼不從命令行執行所有操作,可能使用腳本,在哪裏有更多的控制? –
並非公司裏的每個人都像使用命令行一樣有經驗並且非常尷尬。這就是爲什麼我需要一種方法來通過使用默認的Eclipse或IntelliJ更新來實現這些功能 - 在這些更新中,您控制的是有限的或者沒有控制 – Auric