注,请先阅读我的问题,然后标记为how-can-you-undo-the-last-git-add的副本。
有没有一种git原生的方法来获取最后一个git add .
执行的时间?
我最近在ios项目中做了一些编码,没有提交就执行了git add .
。今天我也在项目中做了一些编码,遇到了一个bug。我用git diff
检查了今天的工作,没有发现任何可能导致bug的修改。
我上周六在我的设备上测试了ios应用程序,所以我想知道最后一个git add .
是什么时候执行的,如果它是在上周六之前执行的,我就可以在今天的代码中找到bug。
4条答案
按热度按时间ssm49v7z1#
不,没有。
我建议您尽快提交代码,然后您可以使用
git-rebase
轻松地将多个提交合并为单个提交v7pvogib2#
您需要首先使用以下命令将
added
/staged
状态文件(您已通过git add .
完成)转换为modified
状态:字符串
然后用途:
型
现在,您可以看到代码的差异。
供参考:
当您启动一个空的存储库并添加一个文件时,它将处于
untracked
状态,当您使用
git add
时,这些文件现在处于staged
状态,可以在存储库中提交要撤消
git add
,只需使用git reset HEAD~1
,因此staged
状态文件可以转换为untracked
状态。91zkwejq3#
你可以查看
.git/index
或者bash历史记录。参考ElpieKay的评论。9lowa7mx4#
一个最好的方法:检查blob文件的创建日期。
这绝对不是最简单的方法,但即使我们
git add
不止一次,它也可能有效。当我们
git add
一个文件时,git may 在.git/objects
中创建一个blob文件:(It也可以重用现有的blob而不创建新文件)
字符串
如果我们检查索引中文件的所有blob,最新的创建日期可能是你想要的。