上次 git-add 的时间
time of last git-add
注意,请先阅读我的问题,然后再将其标记为 how-can-you-undo-the-last-git-add.
的副本
是否有 git 本机方法来获取最后一个 git add .
执行的时间?
我最近在我的 ios 项目中做了一些编码,并在没有提交的情况下执行了 git add .
。
今天也在项目中写代码,遇到了一个bug。我用git diff
检查今天的工作,并没有发现任何可能导致错误的更改。
我上周六在我的设备上测试了 ios 应用程序。所以我想知道最后一个git add .
是什么时候执行的。如果是在上周六之前执行的,我今天的代码就能定位到bug了。
没有,没有。
我建议您尽快提交代码,稍后您可以使用 git-rebase
轻松地将多个提交合并为一个提交
您需要首先使用以下命令将 added
/ staged
声明的文件(您通过 git add .
完成)转换为 modified
状态:
git reset HEAD~1
然后使用:
git diff
以便您现在可以看到代码差异。
供参考:
When you start an empty repository and add a file, it will be in the
untracked
state,
When you use git add
, Those files are now in staged
state and
ready to be committed inside the repository
To UNDO git add
, just use git reset HEAD~1
, so staged
state
files can be converted to untracked
state.
最佳方法:检查 blob 文件的创建日期。
这绝对不是最简单的方法,但即使我们 git add
不止一次,它也可能有效。
当我们git add
一个文件时,git可能在.git/objects
中创建一个blob文件:
(它也可以在不创建新文件的情况下重用现有的 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/fa/cd*
19 Jun 1 21:14 .git/objects/fa/cd29e7e5ab3a8764cd7702daefc4f2b6515edd
如果我们检查索引中文件的所有 blob,最新的创建日期可能就是您想要的。
您可以查看 .git/index
或查看 bash 历史记录。参考ElpieKay的评论。
注意,请先阅读我的问题,然后再将其标记为 how-can-you-undo-the-last-git-add.
的副本是否有 git 本机方法来获取最后一个 git add .
执行的时间?
我最近在我的 ios 项目中做了一些编码,并在没有提交的情况下执行了 git add .
。
今天也在项目中写代码,遇到了一个bug。我用git diff
检查今天的工作,并没有发现任何可能导致错误的更改。
我上周六在我的设备上测试了 ios 应用程序。所以我想知道最后一个git add .
是什么时候执行的。如果是在上周六之前执行的,我今天的代码就能定位到bug了。
没有,没有。
我建议您尽快提交代码,稍后您可以使用 git-rebase
您需要首先使用以下命令将 added
/ staged
声明的文件(您通过 git add .
完成)转换为 modified
状态:
git reset HEAD~1
然后使用:
git diff
以便您现在可以看到代码差异。
供参考:
When you start an empty repository and add a file, it will be in the
untracked
state,When you use
git add
, Those files are now instaged
state and ready to be committed inside the repositoryTo UNDO
git add
, just usegit reset HEAD~1
, sostaged
state files can be converted tountracked
state.
最佳方法:检查 blob 文件的创建日期。
这绝对不是最简单的方法,但即使我们 git add
不止一次,它也可能有效。
当我们git add
一个文件时,git可能在.git/objects
中创建一个blob文件:
(它也可以在不创建新文件的情况下重用现有的 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/fa/cd*
19 Jun 1 21:14 .git/objects/fa/cd29e7e5ab3a8764cd7702daefc4f2b6515edd
如果我们检查索引中文件的所有 blob,最新的创建日期可能就是您想要的。
您可以查看 .git/index
或查看 bash 历史记录。参考ElpieKay的评论。