上次git-add的时间

kokeuurv  于 12个月前  发布在  Git
关注(0)|答案(4)|浏览(103)

,请先阅读我的问题,然后标记为how-can-you-undo-the-last-git-add的副本。

有没有一种git原生的方法来获取最后一个git add .执行的时间?
我最近在ios项目中做了一些编码,没有提交就执行了git add .。今天我也在项目中做了一些编码,遇到了一个bug。我用git diff检查了今天的工作,没有发现任何可能导致bug的修改。
我上周六在我的设备上测试了ios应用程序,所以我想知道最后一个git add .是什么时候执行的,如果它是在上周六之前执行的,我就可以在今天的代码中找到bug。

ssm49v7z

ssm49v7z1#

不,没有。
我建议您尽快提交代码,然后您可以使用git-rebase轻松地将多个提交合并为单个提交

v7pvogib

v7pvogib2#

您需要首先使用以下命令将added/staged状态文件(您已通过git add .完成)转换为modified状态:

git reset HEAD~1

字符串
然后用途:

git diff


现在,您可以看到代码的差异。

供参考:

当您启动一个空的存储库并添加一个文件时,它将处于untracked状态,
当您使用git add时,这些文件现在处于staged状态,可以在存储库中提交
要撤消git add,只需使用git reset HEAD~1,因此staged状态文件可以转换为untracked状态。

91zkwejq

91zkwejq3#

你可以查看.git/index或者bash历史记录。参考ElpieKay的评论。

9lowa7mx

9lowa7mx4#

一个最好的方法:检查blob文件的创建日期。
这绝对不是最简单的方法,但即使我们git add不止一次,它也可能有效。
当我们git add一个文件时,git may.git/objects中创建一个blob文件:
(It也可以重用现有的blob而不创建新文件)

# add a new file to index
$ echo gimme-a-new-blob > a
$ git add a

# list blob objects in stash
$ git ls-files --stage
...
100644 facd29e7e5ab3a8764cd7702daefc4f2b6515edd 0       a
...

# check the blob file, filenamed is based on sha1 of that blob
$ ls -l .git/objects/fa/cd*
19 Jun  1 21:14 .git/objects/fa/cd29e7e5ab3a8764cd7702daefc4f2b6515edd

字符串
如果我们检查索引中文件的所有blob,最新的创建日期可能是你想要的。

相关问题