【发布时间】:2020-09-07 17:22:55
【问题描述】:
我在本地存储库.git/hooks/ 中创建了以下预推送脚本,以禁止将具有未解决的 git 冲突的文件推送到服务器:
#!/bin/bash
top_dir=$(git rev-parse --show-toplevel)
conflicts=$(grep -r -n -s --include=\*.{pm,pl,mc,mi,js,css} "<<<<<<< HEAD" "$top_dir")
if [ "$conflicts" = "" ]; then
exit 0
else
printf "Unresolved git conflict found, commit rejected.\n\n"
echo "$conflicts"
exit 1
fi
它有效。但是我们如何才能拒绝所有在服务器端pre-receive 上存在未解决冲突的提交呢?在这里,我知道top_dir - 目录,在哪里 grep。但是在服务器上没有保存的文件。我需要在客户端发送给我的文件中进行 grep。
怎么做?
【问题讨论】:
-
你为什么问the same question两次?
-
@dan1st(我认为这是第一个)---(我还假设其他人正在使用他们的帐户)
-
根据时间戳,这是第二个。根据ids,这是第一个
-
哦,他删了。
-
推送的引用被发送到 pre-receive 钩子上的
stdin。
标签: git