跳转到主要内容

轻松执行安全(基于合并)的rebase操作。

项目描述

轻松执行基于合并的rebase操作,即不改变历史记录的rebase。

您可以在此处阅读此想法背后的完整理由

是什么?

总结一下

  • git checkout topic && git merge master 是错误的做法。准备好糟糕的事情发生。

  • git checkout topic && git rebase master 更好,但是

    • 它会改变历史记录。它不会引发合并冲突,但并不能保证合并的代码可以正常工作。您正在丢失一些工作中间状态。

    • 它与您已推送到共享仓库的分支不兼容。

psykorebase:

  • 模仿“rebase”工作流程,但只使用合并,不改变历史记录。它在“topic”分支上重新播放“topic”更改(就像rebase一样),而不删除“topic”更改。

  • 保留您代码的所有状态。

  • 与已推送的分支兼容。

  • 主要(也是唯一?)的对应之处在于历史记录中条目更多。有更多的提交和合并。这是缺点吗?如果你仔细观察,一切都很清晰和整洁。但是一些开发者不喜欢它……

安装

目前针对Python 2.7.x进行开发。目前仅支持Git。

sudo pip install https://github.com/benoitbryon/psykorebase/archive/master.tar.gz#egg=psykorebase

使用sudo pip uninstall psykorebase卸载。

用法

Git

当前,处于开发阶段的原型

psykorebase MASTER [TOPIC]在MASTER之上对TOPIC分支执行“心理重置”。其中TOPIC是可选的,默认为当前分支。

示例

git checkout master && git pull --rebase origin master  # Update master.
git checkout topic && psykorebase master  # Psykorebase topic on top of master.

计划使用(处于开发中)

默认情况下,为topic分支的每个(新)提交发出一个合并

git checkout topic && psykorebase master.

快速而粗糙的,发出一个包含topic分支所有(新)提交的大合并(合并头)

git checkout topic && psykorebase --fast master

默认情况下更安全,--fast在问题可能性较低时表现良好。CHANGELOG =========

1.0.1 (2015-07-29)

  • 修复setup.py

1.0.0 (2015-07-29)

  • 添加Python3支持。

  • 添加Git支持

  • 添加psykorebase BRANCHpsykorebase --continue功能。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

psykorebase-1.0.1.zip (13.1 kB 查看哈希)

上传时间

支持