我有一个运行在GitHub操作中的脚本,该脚本从另一个源运行检索,并将这些更改加载到Git分支中,然后遍历已更改的文件列表并将它们添加到提交中,并添加特定的提交消息,例如“自动提交- { xxxx.xml }文件已更改”,其中xxxx.xml是在git diff中获取的文件名。目前,我的脚本刚刚提交--除了我想要更改它,循环遍历每个更改,并在每个更改中添加自己的提交消息。这个是可能的吗?
echo "*************************************************************"
echo "GIT diff:"
echo ""
git diff
echo ""
echo "*************************************************************"
git add --all
git commit -m "Auto-commit - updated Salesforce metadata"
git push请记住,我是个十足的菜鸟
发布于 2022-10-19 21:10:48
假设您的文件中没有一个包含时髦字符(制表器,尤其是没有换行符),那么您应该可以开始这样做:
为了简化脚本编写,需要交换1和2。
shell脚本可能如下所示:
commit=$(git rev-parse HEAD) # remember commit hash
git reset HEAD^ # reset to previous commit
git diff-tree --no-commit-id --name-only -r "$commit" \
| while IFS= read -r path; do
git add -- "$path"
git commit -m 'Auto-commit - '"$path"' file was changed'
done如果您有GNU,则可以组合diff-tree -z | xargs -0来处理这些特殊路径。
https://stackoverflow.com/questions/69766935
复制相似问题