簡體   English   中英

如何在Git中返回不同版本的代碼

[英]how to go go back in a different version of the code in Git

我正在嘗試回到我正在處理的分支上的其他日期。(例如3天前)我已經創建了我已更改的文件的補丁程序,因此我不介意是否會覆蓋它。

提前致謝,

這是您可以將代碼簽出到您之前進行的先前提交的方式。

  1. git log查看您過去的所有提交,然后選擇要還原為的提交
  2. 復制您想要還原的哈希值(即aefd2efc660f4gb2fa2d7r1ef73b3z4e2b4498e5
  3. 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.

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