解決辦法
1、feature分支只有你一個人在開發
此時沒有其他人會進行提交操作,那么可以直接進行強制推送 git push --force origin feature ,–force可以直接理解為用你本地分支的狀態區覆蓋掉遠端origin分支的狀態,也就是執行過后,本地的分支什么樣,遠端分支就什么樣
2、feature分支有多人開發
此時如果你貿然的使用–force命令,會有覆蓋掉其他人提交代碼的風險。比如,小明和小紅兩個人同時在feature分支上進行開發,小明已經在feature分支上提交了一部分代碼,而小紅此時執行了rebase操作,所以如果想要推送到遠端倉庫就必須使用 - -force 參數,而小紅推送成功之后就會覆蓋掉小明提交的代碼(前面說過–force就是用本地狀態覆蓋掉遠端狀態)。在這種情況下,推薦另外一種更安全的命令 git push --force-with-lease origin feature 使用該命令在強制覆蓋前會進行一次檢查如果其他人在該分支上有提交會有一個警告,此時可以避免福改代碼的風險。
Ref:
https://blog.csdn.net/StephenGuoYang/article/details/84915417
https://www.cnblogs.com/xinmengwuheng/p/11301657.htmlone --- very good