实现一个shell脚本,先执行git status,查询所有改变的文件diff,然后自己选择是否add
#!/bin/bash
# 执行git status,查询所有改变的文件
git status
echo "---------------------------------------"
# 获取所有改变的文件列表
files=$(git diff --name-only)
# 显示每个改变的文件的diff,并提示用户是否add该文件
for file in $files
do
echo "---------------------------------------"
echo "文件: $file"
git diff $file
read -p "是否add该文件?(y/n): " choice
if [ "$choice" == "y" ]; then
git add $file
echo "已add文件: $file"
else
echo "未add文件: $file"
fi
done
这个脚本会依次显示每个改变的文件的diff,并询问你是否add该文件。如果你选择了y,它会add该文件;如果你选择了n,它将跳过该文件。请注意,它仅处理当前目录下的改变文件。如果你想处理子目录中的文件,请在脚本中添加适当的逻辑。
你可以将此脚本保存为一个文件(例如git_diff.sh
),并在终端中运行它:
sh git_diff.sh