问题标签 [rebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
80747 浏览

git - Hg:如何像 git 的 rebase 一样做 rebase

在 Git 中,我可以这样做:


我想知道如何在 Mercurial 中做同样的事情,我已经在网上搜索了答案,但我能找到的最好的是:git rebase - can hg do that

该链接提供了 2 个示例:
1. 我承认这一点:(将示例中的修订替换为我自己示例中的修订)

还不错,除了它将 pre-rebase MNO 作为未合并的头部留下并创建 3 个新提交 M',N',O' 代表它们从更新的主线分支。

基本上问题是我最终得到了这个:

这不好,因为它留下了应该删除的本地不需要的提交。

  1. 来自同一链接的另一个选项是

这确实会产生所需的图表:

但是这些命令(全部 6 个!)似乎比

我想知道这是否是 Hg 中唯一的等价物,或者是否有其他可用的方法,比如 Git。

0 投票
2 回答
9403 浏览

git - 当手动将相同的更改应用于两个分支时,如何强制变基?

我的存储库看起来像:

这里“M - BCDE - N”是手动(不幸的是!)应用的更改,与单独的提交“A - B - C - D - E”大致相同(但似乎 GIT 不知道这些更改是相同的)。我想变基并获得以下结构:

即我想让 branch:release 与 branch:master 完全相同,并从 master 的 HEAD 分叉它。

但是当我在分支发布时运行“git rebase master”时,GIT 会报告很多冲突并拒绝 rebase。我怎么能解决这个问题?

对此的其他解释:我想“重新创建”分支:从 master 的 HEAD 从头开始​​发布。还有很多其他人已经为分支做了“git pull”:release,所以我不能使用 git reset + git push -f。

0 投票
3 回答
17858 浏览

git - 我需要在变基后执行提交吗?

我刚刚将一个特性分支重新定位到另一个特性分支上(准备将所有内容重新定位到我的主人的头上),它涉及到很多棘手的合并解决方案。

变基会自动保存为某处的提交吗?

这些修改在哪里?我在 gitk 中看不到任何东西,或者git log --oneline.

(当我在变基后合并回我的分支时也有同样的问题。)

0 投票
4 回答
70102 浏览

git - 变基以及变基推送的提交意味着什么

人们常说,你不应该对你已经推送的提交进行rebase。那可能是什么意思?

0 投票
4 回答
4313 浏览

git - 带有所有子分支的 git rebase 分支

是否可以使用 git 中的所有子分支重新设置分支?

我经常使用分支作为快速/可变标签来标记某些提交。

现在我想更改/rebase -i master改写origin/master提交featureA-finished^

之后git rebase -i --onto origin/master origin/master master,我基本上希望历史是:

但我得到的是:

有没有办法解决它,或者我是否坚持在新的重新提交提交上重新创建分支?

0 投票
1 回答
573 浏览

svn - SVN 合并,然后变基

我正在尝试找到将 SVN 分支中的更改重新集成到主干和 rebase 的正确方法。

我已经成功地将我的更改从分支合并回主干,使用,

现在我需要从主干重新创建我的开发分支。做这个的最好方式是什么?

背景

我们基本上有一个发布主干,所有开发都在分支中进行,直到发布时间,所以过程是合并更改到主干,发布,重新设置分支做更多的更改,重复过程。

0 投票
1 回答
4639 浏览

git - 当 git pull 导致冲突但 git pull --rebase 没有时,这是什么意思?

我正在从只有我有权访问的存储库中提取。据我所知,我只从一个存储库推送到它。有几次,我尝试推动它并得到这个:

一般来说,这只是意味着我必须做一个git pull(尽管所有的更改都应该是可快速转发的)。当我做 agit pull时,我会遇到冲突。如果我做 a git pull --rebase,它工作正常。我究竟做错了什么?

0 投票
1 回答
587 浏览

mercurial - 在 mercurial 中变基后摆脱悬空的变更集

我做了一个将另一个看似无关的存储库放入当前存储库。hg update --force <repo> hg pull --update --force <other repo>

之后我合并了另一个 repo 的第一个变更集(以获得“正确”的重命名)。

从第二个变更集开始的另一个存储库的变基使第一个变更集(此处:修订版 5431)在存储库中悬空:

为了清理东西,我想摆脱修订版 5431。我该怎么做?

谢谢。

0 投票
1 回答
719 浏览

git - 当分支上的文件在主服务器上拆分为两个文件时合并更改

这基本上是主服务器上的大量 C 类被重构为两个较小的类 C1 和 C2 的结果。然后 C 成为 C2 的子类,并缩减为框架版本以实现向后兼容性。所以从那时起,master 包含了 C、C1 和 C2。在那个主提交上,git 说 C 被重命名为 C1。分支在此发生之前最后一次更新。(所有 C++ 代码,如果它有助于可视化所涉及的文件)

显然,当我尝试将分支变基到 master 上时,存在需要解决的冲突。

像往常一样,我使用了mergetool。

所以现在 mergetool 提出了以下内容:在本地,我有 C 的骨架版本。Base 和 Remote 对 C 有很多更改。

因为 C 的骨架版本存在于 Local 上,所以我得出结论,来自 Base 和 Remote 的更改实际上应该进入 C1,而不管 C。

我的问题是,我该怎么做?

0 投票
1 回答
244 浏览

git - git:关于 svn dcommit 合并/变基的正确方法

我有以下情况(主要是因为我一开始并没有真正考虑清楚 - 或者更确切地说,我认为我这样做的方式应该不是问题,但现在我被绊倒了):

其中Agit-svn处于相同状态(完全相同的文件和文件内容),但它们在历史上没有任何共同点。

而且我要:

或者至少,当我执行 svn dcommit 时,我只想得到提交B1Bn而不是别的。

我不确定 dcommit 是如何工作的。所以如果我会得到这样的东西:

dcommit 会以我想要的方式运行吗?因为如果是这样,那将很容易获得(合并A确实git-svn可以正常工作,因为它们在内容方面是相同的)。

还是我应该做某种变基?但我不想改变A基础git-svn,只是B1为了Bn.