Git Push Diagnostic - Step by Step"; // Шаг 1: git add echo "

Step 1: git add .

"; exec('cd ' . escapeshellarg(__DIR__) . ' && git add . 2>&1', $add_out, $add_code); echo "Return code: $add_code
"; echo "Output:
" . (empty($add_out) ? '(empty)' : implode("\n", $add_out)) . "
"; // Шаг 2: git commit echo "

Step 2: git commit

"; exec('cd ' . escapeshellarg(__DIR__) . ' && git commit -m "Test from web process" 2>&1', $commit_out, $commit_code); echo "Return code: $commit_code
"; echo "Output:
" . (empty($commit_out) ? '(empty)' : implode("\n", $commit_out)) . "
"; // Шаг 3: git push (только если commit успешен) if ($commit_code === 0) { echo "

Step 3: git push

"; exec('cd ' . escapeshellarg(__DIR__) . ' && git push 2>&1', $push_out, $push_code); echo "Return code: $push_code
"; echo "Output:
" . (empty($push_out) ? '(empty)' : implode("\n", $push_out)) . "
"; } else { echo "

Step 3: Skipped (commit failed)

"; } // Дополнительная информация echo "

Debug Info

"; echo "Current user: " . posix_getpwuid(posix_geteuid())['name'] . "
"; echo "Git config sshCommand: "; exec('cd ' . escapeshellarg(__DIR__) . ' && git config --get core.sshCommand 2>&1', $ssh_cmd); echo "
" . (empty($ssh_cmd) ? '(not set)' : implode("\n", $ssh_cmd)) . "
"; ?>