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獲取有關任何上述(或其他)命令的更多詳細信息和示例。

TA貢獻1847條經驗 獲得超11個贊
git reset --soft origin/master將改變提交歷史相匹配的遠程和階段的差異到遠程隨后被提交。在這種情況下,無需重新設置基準(由于未提交更改,因此您將無法這樣做),因為提交歷史記錄沒有差異。重置或重置兩個選項-不能同時使用。請提出一個問題,如果你的情況是一個比我在這里回答不同。
- 3 回答
- 0 關注
- 726 瀏覽
添加回答
舉報