§ Door File!

Верни как всё было, верни как тогда оно было. Этот микроскрипт для возвращения изменений гита в исходное состояние. Не всегда работает, но иногда (часто) помогает.
1$zone = '';
2$revert = [];
3
4foreach (array_map('trim', explode("\n", `git status -s`)) as $row) {
5
6    // Модифицированные файлы
7    if (preg_match('~^\s*M\s+(.+)$~', $row, $c)) {
8
9        $file = $c[1];
10        echo "MOD $file\n";
11        $revert[] = $file;
12    }
13    // Файлы, которых нет в GIT
14    else if (preg_match('~^\s*\?+\s+(.+)$~', $row, $c)) {
15
16        $file = $c[1];
17        if (file_exists($file)) {
18            if (is_dir($file)) {
19                echo "DIR $file\n";
20                `rm -r $file`;
21            } else {
22                echo "DEL $file\n";
23                unlink($file);
24            }
25        } else {
26            echo "404 $file\n";
27        }
28    }
29}
30
31if ($revert) {
32    $bash = "git checkout " . join(" ", $revert);
33    echo `$bash 2>&1`;
34}
35
36echo `git pull 2>&1`;