亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

強制更新后的Git拉

強制更新后的Git拉

Git
狐的傳說 2019-11-21 14:21:43
我只是壓縮了一些提交git rebase并做了一個git push --force(這是邪惡的,我知道)。現在其他軟件工程師有不同的歷史記錄,當他們執行時git pull,Git將合并。除了執行操作外,是否有辦法解決此問題rm my-repo; git clone [email protected]:my-repo.git?我需要類似的相反的東西git push --force,但git pull --force沒有給出預期的結果。
查看完整描述

3 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

接收新的提交


git fetch

重啟


您可以使用重置本地分支的提交git reset。


更改本地分支的提交:


git reset origin/master --hard

但是要小心,如文檔所述:


重置索引和工作樹。自<commit>以來,工作樹中跟蹤文件的任何更改都將被丟棄。


如果您想真正保留本地所做的任何更改,請--soft重置。這將更新分支的提交歷史記錄,但不會更改工作目錄中的任何文件(然后您可以提交它們)。


變基


您可以使用git rebase以下命令在任何其他提交/分支之上重播本地提交:


git rebase -i origin/master

這將在交互模式下調用rebase,您可以在其中選擇如何應用不在您依據的歷史記錄中的每個單獨提交。


如果您刪除的提交(帶有git push -f)已經被拉入本地歷史記錄,它們將被列為將被重新應用的提交-它們將需要作為重新設置的一部分被刪除,或者它們將被簡單地重新包含在歷史記錄中分支-并在下次推送時重新出現在遠程歷史記錄中。


使用幫助可git command --help獲取有關任何上述(或其他)命令的更多詳細信息和示例。


查看完整回答
反對 回復 2019-11-21
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

git reset --soft origin/master將改變提交歷史相匹配的遠程和階段的差異到遠程隨后被提交。在這種情況下,無需重新設置基準(由于未提交更改,因此您將無法這樣做),因為提交歷史記錄沒有差異。重置或重置兩個選項-不能同時使用。請提出一個問題,如果你的情況是一個比我在這里回答不同。

查看完整回答
反對 回復 2019-11-21
  • 3 回答
  • 0 關注
  • 726 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號