Questions tagged «git-rebase»

使用git-rebase命令,您可以从一个分支获取更改,然后在另一个分支的顶部重播它们。

3
重新安置分支机构,包括其所有子级
我有以下Git存储库拓扑: A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 通过重新feature分支,我希望重新构建整个子树(包括子分支): $ git rebase feature master A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 但是,这是实际结果: C' (feature) / A-B-F (master) \ D (feature-a) \ / C \ E (feature-b) 我知道我可以通过执行以下操作轻松地手动修复它: $ git rebase …

4
git rebase合并冲突
我分叉了一个github仓库,并从事我的github仓库。 我已经提出请求,它已经完成。 在那之后上游有更多的提交,所以现在我想重新设定基准,我想那就是我要做的。 但是我遇到了这些合并冲突: First, rewinding head to replay your work on top of it... Applying: Issue 135 homepage refresh Using index info to reconstruct a base tree... <stdin>:17: trailing whitespace. %h4 warning: 1 line adds whitespace errors. Falling back to patching base and 3-way merge... Auto-merging app/views/layouts/application.html.haml CONFLICT (content): …
91 git  github  git-rebase 

3
在有人将基准或重置推送到已发布的分支后,如何恢复/重新同步?
我们都听说过,永远不要为已发布的工作重新定级,这很危险,等等。但是,如果发布了重新定级的情况,我还没有看到任何有关如何处理这种情况的方法。 现在,请注意,只有在存储库仅由已知的(最好是少数)人员克隆的情况下,这才是真正可行的,因此,推动重新设置或重置的人员可以通知其他所有人,下次他们需要注意取(!)。 如果您没有本地提交foo并且可以重新建立基础,那么我看到的一个显而易见的解决方案将起作用: git fetch git checkout foo git reset --hard origin/foo foo根据远程存储库,这将简单地丢弃本地状态以支持其历史记录。 但是,如果人们对该分支机构进行了实质性的本地变更,该如何处理呢?

5
之前的git合并后git rebase
我有以下情况: 我clone从主存储库(X)创建了(Y),因为有很多人在Y上工作,我们rebase只做merges就不做任何事情。当我们想将pushY交付给X时,我们想做一个arebase以便使事情变得干净整洁 问题在于,这样做时,rebase我们被要求执行之前merge步骤中已经完成的所有合并。除了实际上意味着重新进行合并的解决方案之外,还有其他解决方案吗? 我希望它非常简单,因为我们已经解决了冲突的合并。
79 git  merge  rebase  git-rebase 

3
git rebase和git merge --ff-only之间是否有区别
从我的阅读中,他们两个都有助于我们获得线性历史。 根据我的实验,变基一直都在起作用。但是merge --ff-only仅在可以快速转发的情况下有效。 我还注意到,git merge创建了一个合并提交,但是如果我们仅使用--ff,它会给出一个线性历史记录,基本上等于git rebasing。所以--ff-only杀死了git merge的目的,对吗? 那么它们之间的实际区别是什么?


2
自重新启动基准以来,中止了旧的git重新基准并丢失了提交
废话!大约一周前,我在尝试清理存储库时重新提交了一些提交,显然我并没有真正完成它。今天,一个星期后又提交了几个提交,我去重新设置了基础,以重新安排从今天开始的几个提交,它告诉我我已经处于重新设置的中间。 以防万一,这应该是复制我的仓库的提示。但是我没有……相反,我跑了git rebase --abort,当时听起来不错。好吧,那是不对的。它终止了一周前的重新设置,并将主服务器的HEAD重置为旧的。假! 我还有其他一些分支机构,这些分支机构是最近的,并且已经多次推送到远程站点,但是最新的更改似乎永远消失了。我没有适当级别的git-fu,无法知道是否有任何方法可以恢复我的更改。 我搞砸了吗? 编辑-哇!多谢你们!git reflog太棒了!我完全康复了...教训。标记Tchalvak的答案被第一个发布。
70 git  git-rebase 

7
如何知道是否正在进行git rebase?
当我启动a时git rebase -i,我可以发出诸如git rebase --continue或的命令git rebase --abort。这些命令仅在进行基准变迁时才起作用。 我如何知道是否正在进行重新定基? (我将不胜感激有关内部变基如何工作的一些细节; git对赋予其“正在变基”状态的存储库做了什么工作?)
68 git  git-rebase 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.