Github丢失了我的文件夹

问题描述 投票:1回答:2

在我的临时分支上,我提交了一个文件夹migrations_lar,其中包含1个迁移文件。我在11月29日找到了我添加它的提交。当我现在查看暂存分支时,整个migrations_lar文件夹都消失了。我需要找出它消失的时间。我也想知道是否有其他事情消失了。

这是我学到的:

我跑了git log -- database/migrations_lar git log -- database/migrations_lar

我添加文件夹的提交有“实施合作伙伴Webhook”消息。这些其他提交都不会删除该文件夹。

当我进入GitHub并在各种提交后检查暂存分支的状态时,我看到该文件夹​​出现并且经常消失:enter image description here突出显示的行没有我的提交,并且没有migrations_lar文件夹。底部提交在很久以前最初创建时具有migrations_lar文件夹,而不包含我的文件。

关于这个如何或什么时候迷失了,以及它失去了什么,我感到非常难过。有帮助吗?

Update

几个月前,我在其中添加了带有Laravel默认迁移的migrations_lar文件夹。在某些时候,有人删除了文件,因此文件夹。

11月29日,我添加了文件夹和新迁移。

在那之后的某个时刻(我假设)有人创建了与原始删除的错误合并。我不知道这是怎么发生的。关于如何找到显示该文件被删除时的提交的任何线索?!

git github
2个回答
1
投票

谢谢@Ryan。我尝试使用git bisect来查找导致该问题的提交。而且我觉得它有所帮助。我认为它确定了提交,但我忽略了它。

然后我打电话给git checkout HEAD^; ls database/migrations_lar,直到我找到了包含该文件夹的提交。我找到了错误提交的提交字符串并运行了git show https://github.com/completesolar/HelioTrack/commit/226d0b8f940a7bec524360a0f631d87f46dfaab8

果然我看到了

...017_11_28_100558_create_organizations_table.php |  54 ---

然后我意识到这个提交是我合并一个Pull Request。我检查了Pull请求,当然我已经错过了完整的代码审查。从那个pull请求中我恢复了Pull Request上的30次提交,发现了违规的合并失败。


1
投票

除了二等分之外,另一种方法是git log,专注于删除。 见“Find when a file was deleted in Git

git log --diff-filter=D --summary | \
  sed -n '/^commit/h;/\/some_dir\//{G;s/\ncommit \(.*\)/ \1/gp}'

在Mac上:

git log --diff-filter=D --summary | \
  sed -n -e '/^commit/h' -e '\:/:{' -e G -e 's/\ncommit \(.*\)/ \1/gp' -e }

这将列出文件夹中的文件已消失的所有提交。

© www.soinside.com 2019 - 2024. All rights reserved.