Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github丢失了我的文件夹_Git_Github - Fatal编程技术网

Github丢失了我的文件夹

Github丢失了我的文件夹,git,github,Git,Github,在我的暂存分支上,我提交了一个文件夹migrations\u lar,其中包含一个迁移文件。我在11月29日添加的地方找到了提交。当我现在查看staging分支时,整个migrations\u lar文件夹都不见了。我要知道它什么时候消失的。我还想知道还有什么消失了 以下是我学到的: 我运行了git日志——数据库/迁移 在我添加文件夹的提交中,有一条消息“ImplementPartnerWebhook”。所有其他提交都不会删除该文件夹 当我进入GitHub并在各种提交后检查临时分支的状态时,我

在我的暂存分支上,我提交了一个文件夹
migrations\u lar
,其中包含一个迁移文件。我在11月29日添加的地方找到了提交。当我现在查看staging分支时,整个
migrations\u lar
文件夹都不见了。我要知道它什么时候消失的。我还想知道还有什么消失了

以下是我学到的:

我运行了git日志——数据库/迁移

在我添加文件夹的提交中,有一条消息“ImplementPartnerWebhook”。所有其他提交都不会删除该文件夹

当我进入GitHub并在各种提交后检查临时分支的状态时,我看到该文件夹定期出现和消失: 突出显示的行没有“我的提交”,也没有“迁移”文件夹。 底部提交在很久以前最初创建时有migrations\u lar文件夹,其中没有我的文件

我完全搞不懂这是怎么弄丢的,什么时候弄丢的,是什么东西弄丢的。有什么帮助吗

更新 几个月前,我添加了migrations\u lar文件夹,其中包含Laravel的默认迁移。 在某个时候,有人删除了文件,因此删除了文件夹

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


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

谢谢@Ryan。我尝试git bisect查找导致问题的提交。我认为这有帮助。我认为它识别了提交,但我忽略了它

然后我调用了
git checkout HEAD^;ls database/migrations\u lar
直到找到包含该文件夹的提交。我找到了出错提交的提交字符串并运行了
git showhttps://github.com/completesolar/HelioTrack/commit/226d0b8f940a7bec524360a0f631d87f46dfaab8

果然我看到了

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

然后我意识到这个提交是在我合并一个拉请求时进行的。我回顾了拉请求,果然错过了完整的代码回顾。从该拉请求中,我修改了拉请求上的30个提交,发现有问题的合并失败。

除了对分之外,另一种方法是
git log
,重点是删除。
见“

在Mac上:

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

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

您可能知道,但要明确说明:没有丢失任何内容。其中一个提交将删除该文件。Git不跟踪文件夹,因此如果删除文件夹中的文件,该文件夹也将被删除。合并意味着文件不一定会在历史中消失或重新出现。错误的合并提交也可能已将其删除。试试git日志--stat@Ryan谢谢你的帮助。我知道git不管理文件夹,在删除它的地方必须有一个提交。我就是找不到。有一百多个承诺,我已经经历了很多。我还怀疑这是一个错误的合并提交,但它会显示在该提交的更改中,对吗?请阅读我的更新以了解错误合并的可能原因。是否尝试对分?
git log --diff-filter=D --summary | \
  sed -n -e '/^commit/h' -e '\:/:{' -e G -e 's/\ncommit \(.*\)/ \1/gp' -e }