防止从过时的Git回购中拉/推,并重定向到新的Git回购
我们正在将Git存储库移动到新服务器。迁移之后,我们显然可以删除旧的存储库,因此当人们尝试推送或拉送时,他们会得到一个错误并在wiki上查找新的存储库URL,但是是否可以阻止推送和拉送,并在错误消息中显示新的URL 您可以使用“预接收”挂钩来完成此操作。您需要在旧repo的防止从过时的Git回购中拉/推,并重定向到新的Git回购,git,dvcs,trac,Git,Dvcs,Trac,我们正在将Git存储库移动到新服务器。迁移之后,我们显然可以删除旧的存储库,因此当人们尝试推送或拉送时,他们会得到一个错误并在wiki上查找新的存储库URL,但是是否可以阻止推送和拉送,并在错误消息中显示新的URL 您可以使用“预接收”挂钩来完成此操作。您需要在旧repo的.git/hooks目录中创建一个名为pre-receive的文件。确保它是可执行的(sudo chmod+x pre-receive),并将文件内容设置为如下内容: echo; echo "This is the old m
.git/hooks
目录中创建一个名为pre-receive
的文件。确保它是可执行的(sudo chmod+x pre-receive
),并将文件内容设置为如下内容:
echo;
echo "This is the old master repo.";
echo "The repo has been moved. Please update 'origin' accordingly:";
echo;
echo "git remote set-url origin user@new-server.com:/path/to/new/repo.git"
echo;
# Reject the push:
exit 1;
现在,当有人试图推送旧回购协议时,它将返回上述消息并拒绝推送