Github丢失了我的文件夹

时间:2017-12-22 04:16:12

标签: git github

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

以下是我所学到的:

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

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

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

我对于如何或何时迷失以及失去了什么感到非常难过。有什么帮助吗?

更新

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

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

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

2 个答案:

答案 0 :(得分: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 Request上恢复了30次提交,发现了违规的合并失败。

答案 1 :(得分: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 }

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