有用的几条Git命令

玖亖伍
2023-10-09 / 0 评论 / 443 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年10月09日,已超过650天没有更新,若内容或图片失效,请留言反馈。

git fsck

git fsck 命令用于检查 Git 数据库内部的完整性,找出问题对象。这3个选项具体用法如下:

  • git fsck --dangling:
    显示悬空对象(dangling object),即孤立的提交/树/blobs,不被任何其他对象引用。
  • git fsck --unreachable:
    显示不可达对象(unreachable object),即不可到达的对象,不被任何一个分支或标签引用。
  • git fsck --lost-found:
    显示遗失的对象(lost found), 位于 .git/lost-found/ 其他 commit 引用了的对象。

总结:

  • dangling 对象不被任何对象引用,但仍在数据库中。
  • unreachable 对象不被任何分支或标签引用,可能在重写历史后出现。
  • lost-found 对象被其他 commit 引用,但不在当前分支或标签中。

这3个选项可以帮助我们发现和恢复在重写历史时“丢失”的对象,修复问题。

git log

示例命令: git log --format="hash: %H%nauthor: %an%ndate: %aI%n%n%B"
--fromat参数解释:

  • %H - commit hash (hash 值)
  • %an - author name (作者用户名)
  • %aI - author date, ISO 8601 格式 (提交时间)
  • %B - commit message body (提交信息)
  • %n - 换行符

实际应用

  • 显示不可达的Commit信息

    git fsck --unreachable | grep commit | cut -d' ' -f3 | xargs -I {} git log --format="hash: %H%nauthor: %an%ndate: %aI%n%n%B" -n 1 {}

参考

0

评论 (0)

OωO
  • ::(呵呵)
  • ::(哈哈)
  • ::(吐舌)
  • ::(太开心)
  • ::(笑眼)
  • ::(花心)
  • ::(小乖)
  • ::(乖)
  • ::(捂嘴笑)
  • ::(滑稽)
  • ::(你懂的)
  • ::(不高兴)
  • ::(怒)
  • ::(汗)
  • ::(黑线)
  • ::(泪)
  • ::(真棒)
  • ::(喷)
  • ::(惊哭)
  • ::(阴险)
  • ::(鄙视)
  • ::(酷)
  • ::(啊)
  • ::(狂汗)
  • ::(what)
  • ::(疑问)
  • ::(酸爽)
  • ::(呀咩爹)
  • ::(委屈)
  • ::(惊讶)
  • ::(睡觉)
  • ::(笑尿)
  • ::(挖鼻)
  • ::(吐)
  • ::(犀利)
  • ::(小红脸)
  • ::(懒得理)
  • ::(勉强)
  • ::(爱心)
  • ::(心碎)
  • ::(玫瑰)
  • ::(礼物)
  • ::(彩虹)
  • ::(太阳)
  • ::(星星月亮)
  • ::(钱币)
  • ::(茶杯)
  • ::(蛋糕)
  • ::(大拇指)
  • ::(胜利)
  • ::(haha)
  • ::(OK)
  • ::(沙发)
  • ::(手纸)
  • ::(香蕉)
  • ::(便便)
  • ::(药丸)
  • ::(红领巾)
  • ::(蜡烛)
  • ::(音乐)
  • ::(灯泡)
  • ::(开心)
  • ::(钱)
  • ::(咦)
  • ::(呼)
  • ::(冷)
  • ::(生气)
  • ::(弱)
  • ::(狗头)
泡泡
阿鲁
颜文字
取消