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