用于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被阻止

如果发现任何错误,请立即报告和/或发送修补程序:

请提及您正在使用的版本,或者如果您正在使用开发版本,请提及存储库的提示,以及复制的步骤。 非常感谢你的帮助。

警告

从v2.1开始,gitbuster现在正确地处理合并提交,而不是像“git rebase-i”那样删除它们。 您可以修改旧提交的元数据,而不必担心它会破坏您的历史树。 但是,在非平面历史记录中重新排序提交时应小心,因为gitbuster无法正确显示分支历史记录。 经验法则是,在分支中插入commit将以tableview中下面的commit作为引用:插入的commit将取代它,并且引用提交将成为插入的提交的父级。 所有具有引用提交的提交都具有父级,现在将插入的提交作为父级。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
正在从节点解密字符串。Java中的js?   java未来超时和IO超时   java apache camel多播以异步方式执行聚合   java需要710次尝试在Android和Raspberry Pi之间建立socket连接   在Java中使用“+,”循环绘制形状   java安卓:如何计算两点之间的距离   java多线程Hello World   刷新后缓存共享变量的java Freemarker模板   java我试图通过迭代用整数填充数组,但我得到了ArrayIndexOutOfBoundsException   JNI C++到java 32位图像的不正确显示   java哪个更快:克隆还是使用流?   java cache2k和Generic T不能很好地结合在一起   java如何在读取文件之前更新文件内容?   java如何在GWT中从JSNI方法调用JSNI方法   将MySQL类型文本映射到Java Hibernate的类型   java如何按长度对字符串排序   java RecyclerView:在滚动期间不断更改数据