记录一次用 git 解决问题的经历
找回未 commit 记录
原因:在切换分支前没有 执行git stash 暂存未提交记录
未 commit 的修改记录会暂时保存在.git/object 下 find .git/objects -type f | xargs ls -lt | sed 3q 找到记录后执行 git show xxx 确认文件内容是否是自己丢失的文件
定位出问题的提交
新建本地分支来处理问题,以免影响正常代码 git branch [branch-name] 切换分支 git checkout [branch-name] 因为git log会先输出最近的提交记录 想往下看会很麻烦
查看某个时间段内的提交git log --since --until 查看某个文件的修改git log filename
# 自定义 git log 输出
git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset %cn %C(green)%Creset %s" --date=short
git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn %s'
定位到出问题的提交前后 将 head 定位到指定提交 git reset --hard [commit-id] 比对两次提交 git diff [commit-id]
还原分支 输出更详细的 log 包括 set head 操作 git reflog set head 到原来的提交节点上
