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 }