隐藏流程 :
mkdir misc
cd misc
git init
echo "my file" > index.php
git add index.php
git commit -m "Init commit"
echo "SniperOJ{xxxxxx}" > flag
git stash save "hide my flag"
git log
git reflog
非标准恢复流程 :
这个题目当时我并不是通过 git 命令直接 做出来的
而是使用 :
cat `find .`
这个命令可以直接递归打印当前文件夹下所有的文件内容
然后看到了一条比较奇怪的 commit id
然后直接 reset 到这个 commit id 就可以直接恢复到提交 flag 的缓存之前的那个状态了
标准恢复流程
法一
git log --reflog
git reset --hard af36ba2d86ee43cde7b95db513906975cb8ece03
法二
git stash list | tee
git stash pop # 或者使用 git stash apply
参考链接 :
https://git-scm.com/book/tr/v2/Git-Tools-Stashing-and-Cleaning
http://blog.csdn.net/hudashi/article/details/7664710
https://github.com/jivoi/junk/blob/master/pwnerrank/misc/git.sh