簡體   English   中英

在沒有重寫歷史記錄的情況下帶回git中的先前提交

[英]Bring back and previous commit in git with out re-writing history

假設我正在開發一個分支“ devel”,並且我想從幾個提交中恢復“ devel”的狀態,而不會覆蓋它們之間的提交。 誰能用相對簡單的方法幫助我?

您始終可以git checkout先前的提交,以將提交狀態添加到您的工作副本中。 然后將其提交回倉庫。 git checkout <sha> -- . 從您的回購的根源應該做到這一點。 此語法不會更新HEAD ,而只會更新索引和工作副本。

您可以執行git checkout -b newbranch commit ,即git commit -b new HEAD~5 git checkout -b newbranch commit (或向gitk提交提交的SHA2)。 因此,您將在給定的點開始一個新分支。

請注意,僅git checkout commit會使您處於“分離頭”狀態,您位於該提交位置,但它在空間中浮動且未連接。 在這種狀態下所做的更改不會集成到存儲庫中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM