git-flowなリリースをしていて、revertとcherry-pickを組み合わせたときに特定のファイル差分がmainブランチ上で消えてしまう問題を検出するgithub actionを検証します。 少しだけ状況違うけど同じような問題について、以下の記事で解説されています https://www.isoroot.jp/blog/2502/
git checkout main
git checkout -b test_main
git checkout -b develop
git checkout develop
touch dummy
git add .
git commit -m "差分"
DIFF_COMMIT=$(git show --format='%h' --no-patch)
git checkout -b release1
git checkout develop
git revert ${DIFF_COMMIT}
REVERT_COMMIT=$(git show --format='%h' --no-patch)
git checkout release1
git cherry-pick ${REVERT_COMMIT}
git checkout test_main
git merge --no-edit release1
git checkout develop
git revert ${REVERT_COMMIT}
git checkout develop
git checkout -b release2
このあとrelease2をmainにマージすると、あるはずのdummyファイルがmain上に存在しないことになる
git checkout master;git branch -D test_main;git branch -D develop;git branch -D release1;git branch -D release2;