我在server1.example.com
有一个旧的repo服务器,我想将所有git存储库转移到git.example.com
。 git是否支持配置server1.example.com
,以便在任何人仍然针对fetch
尝试push
,clone
或server1.example.com
工作区时,他们会收到自定义错误消息说" error: server1.example.com has been shut down, use git.example.com instead
"?
答案 0 :(得分:2)
您可以使用简单的git hook:Hooks是在某些情况下执行的脚本。您可以设置服务器端预接收挂钩,当有人试图推送到您的存储库时始终运行,它始终以退出代码1退出(因此将拒绝每次推送)并显示error: server1.example.com has been shut down, use git.example.com instead
消息。 / p>
可以找到一个示例(可能对您的案例来说过于复杂)here。
但这只适用于推送。对于clone
here,fetch
here讨论<?php
function list_cmp($a, $b) {
global $order;
echo "\$a=$a, \$b=$b </br>";
foreach ($order as $key => $value) {
echo "\$value=$value </br>";
if ($a == $value) {
echo "\$a=\$value, returing 0. </br>";
return 0;
}
if ($b == $value) {
echo "\$b=\$value, returing 1. </br>";
return 1;
}
}
}
$order[0] = 1;
$order[1] = 3;
$order[2] = 4;
$order[3] = 2;
$array[0] = 2;
$array[1] = 1;
$array[2] = 3;
$array[3] = 4;
$array[4] = 2;
array[5] = 1;
$array[6] = 2;
usort($array, "list_cmp");
?>
个钩子的可能性,但任何一个都没有git内部功能。