[英]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.