[英]how to go go back in a different version of the code in Git
我正在嘗試回到我正在處理的分支上的其他日期。(例如3天前)我已經創建了我已更改的文件的補丁程序,因此我不介意是否會覆蓋它。
提前致謝,
這是您可以將代碼簽出到您之前進行的先前提交的方式。
git log
查看您過去的所有提交,然后選擇要還原為的提交 aefd2efc660f4gb2fa2d7r1ef73b3z4e2b4498e5
) git checkout aefd2efc660f4gb2fa2d7r1ef73b3z4e2b4498e5
您只需要查看git日志並獲取要進行的提交的sha哈希並執行git checkout。
就您而言,您的git日志需要關注發生更改的時間,例如3天前。 因此,下面的內容將為您提供幫助。
$git log --pretty=format:"%h - %an, %ar : %s"
會給這樣的東西
$387820f - var_j, 25 hours ago : Rust Lessons: variables
$72a4abc - var_j, 25 hours ago : Rust Lessons: loops
$f272f95 - var_j, 25 hours ago : rust lessons: hello world added
接着,
$git checkout 387820f
這將分離頭並將其移至特定狀態,因此工作副本也將得到相應更新。
如果您真的想回到過去,請考慮
$git reset --soft <commit_hash>
git reset --soft
完全不觸摸索引文件或工作樹(但將頭重置為,就像所有模式一樣)。 就像git status那樣,這會將所有更改的文件保留為“要提交的更改”。
但是請小心使用git reset,它可能會導致損壞。 閱讀文檔並確定您需要什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.