使用 Git-Analyze 玩转 Git


声明:本文转载自https://my.oschina.net/GIIoOS/blog/1818153,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

前言

昨天红薯在码云团队群里面问,又没有办法在 J2Cache 存储库中新建一个没有历史记录的分支 (J2Cache 3.0)?并且不清空存储库。小伙伴们大多都说不行,我打开 TIM App 一看,这不就是创建一个 commit 然后让它没有爸爸么?很简单啊,实际上 git 命令就可以做到,但命令非常复杂,我也不记得了,但我们可以使用 git-cheat 来实现,命令非常简单:

git-cheat new_branch commit_msg 

git-cheat 是笔者开发的 git-analyze 中的一个工具,本文的目的就是告诉各位如何使用它来做一些无聊的事情。

Git-Analyze 简介

笔者在前面写过 Git Analyze 工具实现与原理码云 Git Analyze 工具集更新,所以简介和原理也就不多说了,这里主要是介绍怎么玩耍。

TODO

Git-Analyze 工具

git-analyze 工具可以分析当前的存储库从什么时候将大文件引入到存储库中,是哪儿伙计没有注意引入了,文件路径是什么,大家都知道码云迫于服务器负载和存储压力,对用户的存储库配额有一定的限制,超过配额导致用户访问出现限制时有发生。用户可以使用 git-analyze 工具分析存储库并使用 git-rollback 或者 git filter-branch 这样的工具将存储库体积缩小,并情况远程存储库,重新推送即可重新访问。Usage 如下:

OVERVIEW: GIT analyze tools
Usage: git-analyze ...] [--] [...] [ ...]
OPTIONS:
-h [--help] print usage and exit
--limitsize set analyze engine limit blob size
--warnsize set analyze engine warn blob size
--timeout set analyze engine lifycycle
--who show who is commit author
--all analyze will scanf all refs

截图如下:

输入图片说明

Git-Rollback 工具

Rollback 工具作用比较鸡肋,可以使用 git-reset 或者魔改 .git/refs/$branch,但还是说一下,Usage 如下:

OVERVIEW: GIT rollback tools 
Usage: git-rollback ...] [--] [...] [ ...] 
OPTIONS:
   -h [--help]      print usage and exit
   --git-dir        set rollback repository path
   --backid         set rollback commit id
   --backrev        set rollback current back X rev
   --refname        set rollback current reference name
   --force          force gc prune 

Rollback 分支不会把当前 worktree 修改弄丢。当然 git filter-branch 更牛逼了。

Git-Complete 工具

此工具的作用是刷满一年的贡献度,你也可以从某一年刷到某一年。

git-complete dir branch 'commit message' 2018 

Git-Cheat

git-cheat 可以基于当前分支创建一个只有一个 commit 的分支,此分支的提交信息,树对象等都与当前分支 一致,但没有父提交。很容易看到的一个场景是,用户清理项目后,创建一个提交,然后在此提交的基础上 使用 git-cheat 开源。

命令格式:

git-cheat branch commit-message 

这个命令会将当前分支的 tree 拷贝过去,如果你不需要这些文件,可以先新建一个分支,在分支中删除所有的文件,提交,然后再使用 git-cheat 去操作存储库。

Pre-commit 钩子

这个钩子主要是拦截大文件提交。截图如下:

总结

如果有人觉得有意思或者有什么问题,可以打开 Issues 反馈 https://gitee.com/oscstudio/git-analyze/issues。也可以在 Issues 中提交新的功能请求。

本文发表于2018年05月24日 18:00
(c)注:本文转载自https://my.oschina.net/GIIoOS/blog/1818153,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2054 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1