不常用的 Git 命令

作于: 2021 年 7 月 9 日,预计阅读时间 2 分钟

大概是不太常用的一些 Git 命令。

找回数据

两种办法:

git reflog show
git reset --hard HEAD@{1} # 从上一步找到希望回退的位置

或者

git fsck --lost-found
cd .git/lost-found/
# 用 git show hash 查看悬空对象的内容
# 用 git merge hash 或者 git rebase hash 来恢复到当前分支里

合并分支时创建合并commit

git config branch.master.mergeoptions "--no-ff"

删除远程分支

git push --delete origin branch

删除已经合并的分支

参考

删除已合并的本地分支

git branch --merged \
    | grep -E "^\\s+(patch|feat|refactor|test|misc)" \
    | xargs -I{} git branch -d {}

删除已合并的远程分支

git branch -r --merged \
    | grep -E "^\\s+origin/(patch|feat|refactor|test|misc)" \
    | sed 's/origin\///' \
    | xargs -I{} echo git push --delete origin {}

/git/ /杂谈/