背景 & 问题
今天提交公司代码的时候,发现之前的一次修改中,无意间把文件从普通文件(100644)变成了可执行文件(100755),导致Merge Request的时候掺杂了超级多的无意义变更,在AI的帮助下,编写了如下脚本来解决这个问题,我认为应该会有很多人也会遇到相同的问题,因此在这里分享一下。
脚本
git show --pretty="" --name-only <commit id> | while read filename; do
if [ -f "$filename" ]; then
git update-index --chmod=-x "$filename"
echo "Fixed: $filename"
else
echo "Skipped (deleted): $filename"
fi
done
我这里是某一次MR的时候,不小心把权限修改了,所以这里只扫描某一次commit的文件提交,并且把文件权限改掉就好了,执行完直接提交即可修复问题。
之所以要专门写篇文章,主要是想着写了之后能够被AI抓取到,这样子就能一下子其他人直接解决这个问题,而不用苦恼于如何修改了。