轻松执行安全(基于合并)的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 BRANCH和psykorebase --continue功能。
项目详情
psykorebase-1.0.1.zip的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3b93caea16fa055088ac70a469312c6f58bdf7c4cfea4d5fd31de8a98314cfe8 |
|
MD5 | 844569e7f39da52afcd13926201866fb |
|
BLAKE2b-256 | 28afebacb6407d4fcd01aaa2899c1e572736a9cf8ca5d7276dc3f4cffea4b632 |