我习惯Mercurial mq
extension在上游维护一组自定义补丁。它们可以作为除上游之外的单独存储库发布。现在在git中我使用私有分支和rebase
,它运行良好,直到我想与其他人共享我的补丁。
在Mercurial中,补丁队列是一个独立的存储库,可以像往常一样发布。 Bitbucket甚至提供了一个补丁队列功能,可以将其链接到父存储库。在Git中,如果我发布了一个包含我的补丁的私有分支,我就失去了再修改它们的能力(除非我破坏了合并),但补丁需要不时更新。
从another SO question我发现,在Git世界中,StGit被提议作为mq
的等价物。它与mq
的使用类似,但如何使用StGit发布补丁队列?
(stg publish
似乎是为了创建一个新的“合并友好”分支,而不是自己发布补丁)
在Git中发布补丁队列的其他方法是什么?
答案 0 :(得分:8)
总结答案和评论。使用git
,有两种方法可以在远程上游发布小型自定义修改:
rebase
,根据需要发布分支和新合并到目前为止,纯补丁队列工作流似乎不适用于git,但guilt似乎非常接近mq
,甚至是命令的名称。它不允许版本控制(和可发布)的补丁队列。
答案 1 :(得分:1)
考虑到给出的评论,似乎一种方法或多或少等同于Mercurial的mq将使用内疚。与mq不同,guilt不直接为“补丁库”提供接口,但您可以手动将.git/patches/<branch>
转换为.git存储库。
答案 2 :(得分:0)
有一个名为git-series
的git扩展,它使用git来维护版本化的补丁队列。它允许与#headerContent {
display: inline;
}
.is-hidden {
visibility: hidden;
opacity: 0;
transform: translateY(-100px);
}
.is-visible {
visibility: visible;
opacity: 1;
transform: translateY(0);
transition: all 0.3s ease-out;
}
类似的功能,因为你可以维护多个系列(相当于多个hg队列),根据反馈重构补丁,并将系列提交到git。这是最接近mq
的,但是不同的是你应该期待一些脚射击。
答案 3 :(得分:-1)
来自提供的关于Mq的链接的AFAICT,它与git rebase有大致相同的发布问题?
总而言之,我认为发布您的分支,并警告它是一个变基分支是您的最佳选择。例如,这就是linux-next分支的维护方式。