Created
November 21, 2024 03:23
-
-
Save cyio/d95a2f30545e0cd2c39ffe500afcca58 to your computer and use it in GitHub Desktop.
ignore-changes.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 获取脚本所在目录 | |
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) | |
# 确定文件列表的路径 | |
FILES_TO_IGNORE="$SCRIPT_DIR/files-to-ignore.txt" | |
# 检查文件是否存在 | |
if [ ! -f "$FILES_TO_IGNORE" ]; then | |
echo "文件 'files-to-ignore.txt' 未找到,请确保文件位于脚本所在目录:$SCRIPT_DIR" | |
exit 1 | |
fi | |
# 设置默认操作为 ignore | |
OPERATION="--assume-unchanged" | |
ACTION="ignore" | |
# 检查是否提供了操作参数 | |
if [ $# -ge 1 ]; then | |
if [ "$1" == "ignore" ]; then | |
OPERATION="--assume-unchanged" | |
ACTION="ignore" | |
elif [ "$1" == "restore" ]; then | |
OPERATION="--no-assume-unchanged" | |
ACTION="restore" | |
else | |
echo "无效的操作参数: $1" | |
echo "使用 'ignore'(默认)或 'restore' 来选择操作" | |
exit 1 | |
fi | |
fi | |
# 打印操作提示 | |
if [ "$ACTION" == "ignore" ]; then | |
echo "默认操作:正在将文件标记为 'assume-unchanged'..." | |
else | |
echo "正在恢复文件的变更追踪 ('--no-assume-unchanged')..." | |
fi | |
# 执行操作 | |
cat "$FILES_TO_IGNORE" | xargs -I {} git update-index $OPERATION {} | |
echo "操作已完成:$ACTION" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment