git rebase后不能push問題


 

解決辦法

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM