用于git filter branch和git cherry pick的python qt4前端。
gitbuster的Python项目详细描述
以前是QgitFilterBranch。
“如果你的历史上有什么奇怪的事/你会给谁打电话?/吉布斯特!“
Git Cherry Pick/Git Rebase前端:
- 使用拖放将分支重新定位到另一个分支(一个或一组提交)
- 通过显示以图形方式解决合并冲突:
- 文件的原始内容
- 本应应用但失败的修补程序
- 文件的未合并内容,如有必要可供编辑
- 一组分辨率选项(删除文件、添加文件、添加具有自定义内容的文件)
- 使用远程分支(文件系统或Web上的目录)
- 重命名分支或从历史记录的任何提交创建新分支
- 在使用“git rebase-i”时,可以在冲突后立即调用的特殊冲突模式
Git筛选器分支的前端:
- 使用筛选器仅显示匹配的提交
- 在日期之前/之后提交(例如,在2011年1月1日之前提交)
- 在工作日之前/之后提交(例如,在星期五之后提交)
- 在一小时之前/之后提交(例如,在20:00之后提交)
- 日志消息包含一些字符串(例如匹配的“changme”)
- 用户/电子邮件包含一些字符串(例如匹配“wrong.email@”)
- 编辑显示的提交更改
- 作者/提交日期
- 作者/提交人姓名和电子邮件
- 日志消息
- 一次更改多个值
- 自动将给定的提交集合重新排序到给定的时间范围集合上
安全尝试
使用demo.sh,您可以在安全的环境中尝试gitbuster。剧本 将检查是否满足所有依赖项,并在virtualenv中安装gitpython。 这样就不会干扰系统打包工具(如apt)。
从pypi安装
使用PIP安装:
$ pip install gitbuster
注意:这里我们讨论的是python包安装程序(http://guide.python-distribute.org/pip.html)。
手动安装
获取代码:
$ git clone --recursive git://github.com/mike-perdide/gitbuster.git $ cd gitbuster
安装
$ make install
从源头建设
依赖关系:
- pyuic4:在debian/ubuntu系统上,查找名为“pyqt4 dev tools”的包。
- gcc:在大多数系统上,查找名为“gcc”的包。
- make:在大多数系统上,查找名为“make”的包。
- gfbi_core:见https://github.com/mike-perdide/gfbi_core。
- Gitpython
要构建gitbuster ui文件:
$ cd gitbuster/ $ make
启动gitbuster:
$ export PYTHONPATH=$PYTHONPATH:<path_to_>/gitbuster $ cd gitbuster $ ./gitbuster
错误
Gitbuster中存在错误,特别是在:
- 处理一些Unicode提交元数据
- 选择大提交(+10个修改过的文件)可能会导致Gitbuster被阻止
如果发现任何错误,请立即报告和/或发送修补程序:
- 在freenode,gitbuster频道或者直接给我(mike_u perdide)。
- 电子邮件:gmail.com上的mike dot perdide
- 在github上:https://github.com/mike-perdide/gitbuster/issues/new
请提及您正在使用的版本,或者如果您正在使用开发版本,请提及存储库的提示,以及复制的步骤。 非常感谢你的帮助。
警告
从v2.1开始,gitbuster现在正确地处理合并提交,而不是像“git rebase-i”那样删除它们。 您可以修改旧提交的元数据,而不必担心它会破坏您的历史树。 但是,在非平面历史记录中重新排序提交时应小心,因为gitbuster无法正确显示分支历史记录。 经验法则是,在分支中插入commit将以tableview中下面的commit作为引用:插入的commit将取代它,并且引用提交将成为插入的提交的父级。 所有具有引用提交的提交都具有父级,现在将插入的提交作为父级。