标签: git-rebase

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): Merge conflict in app/views/layouts/application.html.haml
Auto-merging app/views/home/index.html.haml
CONFLICT (content): Merge conflict in app/views/home/index.html.haml
Auto-merging app/views/home/_group_projects.html.haml
CONFLICT (content): Merge conflict in app/views/home/_group_projects.html.haml
Failed to merge in the changes.
Patch failed at 0001 …
Run Code Online (Sandbox Code Playgroud)

git github git-rebase

64
推荐指数
5
解决办法
8万
查看次数

我如何git rebase第一次提交?

我曾经git init创建一个新的回购,然后做了三次提交.现在我想改变回去修改我的第一次提交,但如果我这样做git rebase -i HEAD~3抱怨!如果我尝试相同HEAD~2然后它有点工作,但只允许我重新排列最后两个提交.

如何在有任何提交之前引用'commit'或者返回并插入空提交?

git git-rebase

61
推荐指数
2
解决办法
8724
查看次数

是否存在某种"git rebase --dry-run",它会提前通知我冲突?

我正在尝试编写rebase脚本,我的脚本将采用不同的路径,具体取决于rebase是否会导致任何冲突.

有没有办法在执行rebase之前确定rebase是否会导致冲突?

git git-rebase git-merge-conflict

61
推荐指数
5
解决办法
1万
查看次数

如何在git-subtree添加后重新定义?

我正在尝试学习在Git 1.7.11中添加的新git-subtree命令.添加子树后,我似乎失去了变基的能力.我有一个带有README文件的主存储库和一个库存储库,它也有一个README文件.我将它添加到lib目录subtree add:

$ git subtree add -P lib/mylib myliborigin master
Run Code Online (Sandbox Code Playgroud)

这很好,但现在历史看起来像这样:

*   22c1fe6 (HEAD, master) Merge commit 'b6e698d9f4985825efa06dfdd7bba8d2930cd40e' as 'lib/mylib' - 
|\                                                                                                                
| * b6e698d Squashed 'lib/mylib/' content from commit d7dbd3d
* b99d55b Add readme
* 020e372 Initial
Run Code Online (Sandbox Code Playgroud)

现在当我想要反对我的repo origin/master并且它失败时因为squash commit直接应用于它不适用的父提交,因为它被应用于repo的根而不是我添加的时候给它的前缀子树.

如果我看一下壁球提交,原因很清楚.没有关于前缀的信息.这只是原始的mylib提交压扁在一起.只有下一个合并提交知道它的任何内容,但rebase不会在此处考虑它.

是否有任何变通方法(除了永远不会对子树提交进行重新定位)?

git git-rebase git-subtree

58
推荐指数
5
解决办法
1万
查看次数

Git:如何一次变换多个分支(使用相同的基本提交)?

我的项目中有一个主分支,用于从其他人那里获取更改.从那时起,我通常有几个主题分支,我正在工作.

我的问题是:有没有办法让我将新的更改添加到我的主人中,然后立即将所有主题分支重新绑定到该主题上?

情况就是这样:

        D--E topic1
       /
A--B--C  master
       \
        F--G topic2
Run Code Online (Sandbox Code Playgroud)

我想用一个命令(H来自上游)完成这个任务:

               D'--E' topic1
              /
    A--B--C--H  master
              \
               F'--G' topic2

现在,我知道我可以通过将topic1和topic2重新设置为master来实现这一目标,我甚至可以编写一个脚本来自动执行此操作.但是,如果我有其他几个分支,创建新分支并经常删除其他分支并且我一直收到上游变更怎么办?

当手动完成时,这个操作(几个rebase)既累人又容易出错.

有没有更简单的方法?

谢谢!

git rebase git-rebase

57
推荐指数
2
解决办法
2万
查看次数

"git rebase origin"与"git rebase origin/master"

我不明白之间的差别git rebase origingit rebase origin/master.在我的情况下,我克隆了两次git存储库.在git rebase origin我必须使用的第一个克隆中,我必须使用另一个克隆git rebase origin/master.

一个例子:http://paste.dennis-boldt.de/2011/05/11/git-rebase

git git-rebase

54
推荐指数
2
解决办法
10万
查看次数

在smartgit中重新定位"git-am正在进行中"

我会尝试解释我遇到的问题.我多次使用rebasegit bash选项.现在我有SmartGit,不知道为什么rebase不正确.

步骤1:

第2步:

第3步:

结果是HEAD分离.

git rebase git-rebase smartgit

53
推荐指数
2
解决办法
4万
查看次数

删除/修改冲突后,Git rebase不会继续

我正处于我的主人对舞台分支的重新考虑之中

git checkout stage
git rebase master
Run Code Online (Sandbox Code Playgroud)

有时我删除了两个文件,然后根据GIT修改了两个文件.

warning: too many files, skipping inexact rename detection
CONFLICT (delete/modify): test-recommendation-result.php deleted in HEAD and modified in [Bug] Fix test recommender. Version [Bug] Fix test recommender of test-recommendation-result.php left in tree.
CONFLICT (delete/modify): test-recommendation.php deleted in HEAD and modified in [Bug] Fix test recommender. Version [Bug] Fix test recommender of test-recommendation.php left in tree.
Failed to merge in the changes.
Patch failed at 0015.
Run Code Online (Sandbox Code Playgroud)

我想说"是的git,继续并删除那些文件"所以....

git rm test-recommendation-result.php
git rm test-recommendation.php
git …
Run Code Online (Sandbox Code Playgroud)

git version-control rebase git-rebase

52
推荐指数
1
解决办法
3万
查看次数

git rebase - 继续不起作用

我做了git rebase master,修复了文件中报告的冲突,然后git add解决了冲突文件.然后我做了git rebase --continue,并得到了这个:

应用:固定单元测试

没有变化 - 你忘了使用'git add'吗?如果没有任何东西可以上台,那么其他东西可能已经引入了相同的变化; 你可能想跳过这个补丁.

解决此问题后,运行"git rebase --continue".如果您想跳过此补丁,请改为运行"git rebase --skip".要检出原始分支并停止重新定位,请运行"git rebase --abort".

知道我在这里缺少什么吗?我应该做git rebase --skip吗?

git git-rebase

49
推荐指数
3
解决办法
1万
查看次数

git rebase和git merge --ff-only之间有区别吗?

根据我的阅读,它们都有助于我们获得线性历史.

根据我的实验,rebase一直在工作.但是merge -ff-only仅适用于可以快速转发的场景.

我也注意到,git merge创建了一个合并提交,但如果我们使用--ff-only,它会给出一个线性历史,它基本上等于git rebasing.所以--ff-only杀了git merge的目的,对吧?

那么它们之间的实际区别是什么?

git git-merge git-rebase

49
推荐指数
3
解决办法
2万
查看次数