Skip to main content

Git 相关指令

文件权限

# 查看当前目录下权限
git ls-tree HEAD

# 添加 mvnw.sh 可执行权限
git update-index --chmod=+x mvnw.sh

# 还需要继续 commit & push

清除悬挂内容

概率极低一般出现在多人协作中

git fsck
git gc --prune=now

# --prune=now 有点危险。默认情况下, --prune 会保留 2 周内的悬挂 blobs,也就是说,如果你 5 分钟前不小心做了错误的重置,或者昨天删除了一个分支,你都可以恢复。一旦你运行了这条命令,你就会丢失直到现在的所有挂起blobs,而不是两周前的。

ref:https://stackoverflow.com/questions/28633956/why-does-git-keep-telling-me-its-auto-packing-the-repository-in-background-for

GC:bad object refs/remotes/origin/HEAD

# 移除失效的HEAD指向
mv .git/refs/remotes/origin/HEAD /tmp

ref:https://stackoverflow.com/questions/37145151/how-to-handle-git-gc-fatal-bad-object-refs-remotes-origin-head-error