git 追溯
我是一个相当高兴的Git用户:-)它是优秀的产品,并且在我过去使用的CVS,SVN,SourceSafe,PVCS和其他系统上有很大的改进。
在日常工作中,我陷入了使用非常简单的命令(例如克隆,提交,更新,拉入,推入等)的模式。
但是后来我遇到了代码被破坏但无法确切指出出什么问题或何时发生的情况。 我想做的是将代码回滚,直到到达代码上次运行的时间为止,这将使我能够确定失败的确切原因。
问题是如何仅使用日期返回历史记录:
事实证明,这确实很容易:只需在下面使用t和追溯标记命令即可:
git checkout master@{2009-07-27 13:37}
如果由于reflog不能回到该时间点而导致失败,那么您需要以下命令:
git checkout `git rev-list -n 1 --before="2009-07-27 13:37" master`
另一个有用的事情是能够追溯标记构建。 因此,例如在我们的方案中,假设您找到了可能要标记它的上一个工作版本。
这也很容易。