回退分支下所有git仓库的代码到某个时间结点之前
·
回退分支下所有git仓库的代码到某个时间结点之前
如果2025-8-21你不小心同步了最新的代码,但现在有一个需求,是让你验证8-13号之前的代码是否能够自测通过。
在大型项目中,8-13号到8-21号,可能会产生大量提交,这个时候你可能就会想到把所有git仓下的代码都回退到某个时间点之前,用git一个仓一个仓地回退会很费力,那么下面的命令就产生作用了
repo forall -c '
commit=$(git log --before="2025-8-13 8:00:00" -1 --pretty=format:"%H" 2>/dev/null);
if [ -n "$commit" ]; then
echo "Resetting $(basename $(pwd)) to $commit";
git reset --hard $commit;
else
echo "Skipping $(basename $(pwd)): No commit before 2025-8-13 8:00";
fi'
它能够让代码状态回退到 2025-8-13 8:00:00之前,注意不包含指定时间点。
更多推荐
所有评论(0)