打入a補(bǔ)丁,commit后push到服務(wù)器,發(fā)現(xiàn)a補(bǔ)丁沒有完全解決問題,reset掉后打入正確的補(bǔ)丁,commit沒問題,push到服務(wù)器的時(shí)候需要加-f,強(qiáng)制覆蓋服務(wù)器端的代碼。有沒有辦法在使用reset的同時(shí)不需要強(qiáng)制覆蓋服務(wù)器端的代碼?或者在git push -f后會對軟件代碼集成人員帶去什么麻煩?
2 回答

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
打入補(bǔ)丁A,COMMIT后PUSH到服務(wù)器,這時(shí)候HEAD是節(jié)點(diǎn)1-A。
Reset后,打入正確補(bǔ)丁,PUSH -F到服務(wù)器,就會把剛才HEAD的節(jié)點(diǎn)1-A刪除掉,變成2-A了。
問題是:如果有人在你節(jié)點(diǎn)1-A的時(shí)候PULL了,然后你把1-A刪除換成了2-A,下次再PULL的時(shí)候,因?yàn)樗怯泄?jié)點(diǎn)1-A的,那就會出現(xiàn)沖突。
最正確的解決方法是,在1-A的節(jié)點(diǎn)上,再打一次補(bǔ)丁,變成1-B,然后用rebase -i 把兩個(gè)commit merge到一起就可以了。
添加回答
舉報(bào)
0/150
提交
取消