草庐IT

rebase-apply

全部标签

git - rebase 依赖主题分支

我在git中使用了很多本地主题分支,有时最终主题分支之间的依赖关系会导致rebase问题。例如,结构如下:master--->featureA--->featureB\-->featureC如果master发生变化并且我在rebasefeatureA时遇到(并解决)冲突,然后再将featureBrebase到featureA会触发相同的冲突(有时还会引发新的冲突),因为它会尝试重新应用来自featureA分支的补丁。假设如果精心挑选,featureA和featureB之间的实际补丁将干净地应用,那么在这种情况下是否有一种方法可以进行与cherry-大致相同的效果选择featureA和f

git 声明分支在 rebase 后未 merge - 为什么?

我正在使用git-svn来管理我的bugfix分支,但它告诉我我有未merge的更改,即使我直接查看SVN存储库,我也可以看到它们也已提交。这就像错误修复的rebase没有将分支设置为merge。我在这里做错了什么?gitcheckout-bfix_bug_1234gitadd.gitcommit-m"firstchange"gitadd.gitcommit-m"secondchange"gitrebase-iHEAD~2//squashthetwochangestogethergitsvnrebase//fetchanychangesfromsvngitcheckoutmasterg

git 声明分支在 rebase 后未 merge - 为什么?

我正在使用git-svn来管理我的bugfix分支,但它告诉我我有未merge的更改,即使我直接查看SVN存储库,我也可以看到它们也已提交。这就像错误修复的rebase没有将分支设置为merge。我在这里做错了什么?gitcheckout-bfix_bug_1234gitadd.gitcommit-m"firstchange"gitadd.gitcommit-m"secondchange"gitrebase-iHEAD~2//squashthetwochangestogethergitsvnrebase//fetchanychangesfromsvngitcheckoutmasterg

Git rebase 一个分支到 master 失败,如何解决?

我一直在处理远程git存储库的本地副本。我在本地副本上创建了一个分支,我们称它为“my_branch”。我在my_branch上提交了几次。我最近将“my_branch”推送到远程。但是我不知道其他人向远程主机添加了一个版本。所以,我把它交给了我本地的主人。所以...长话短说,我的本地存储库看起来像这样(我正在尝试使用图表约定here)。--C0--------------C7--(localmaster)\--C1-C2-C3--(localmy_branch)\--C4-C5-C6--(localsandbox_branch)我希望它看起来像:--C0--------------C

Git rebase 一个分支到 master 失败,如何解决?

我一直在处理远程git存储库的本地副本。我在本地副本上创建了一个分支,我们称它为“my_branch”。我在my_branch上提交了几次。我最近将“my_branch”推送到远程。但是我不知道其他人向远程主机添加了一个版本。所以,我把它交给了我本地的主人。所以...长话短说,我的本地存储库看起来像这样(我正在尝试使用图表约定here)。--C0--------------C7--(localmaster)\--C1-C2-C3--(localmy_branch)\--C4-C5-C6--(localsandbox_branch)我希望它看起来像:--C0--------------C

git - 更聪明的 rebase 避免冗余工作?

我在使用长rebase时遇到的一个问题是必须解决冗余冲突。假设我有一个分支,其中包含一系列不断修改函数的提交,而最终提交完全删除了该函数。当我执行rebasemaster时,Git天真地依次应用每个提交。这意味着我需要在master的提示下解决这些提交中的每一个-即使最终这些工作被浪费了。处理这种情况的好方法是什么?也许我应该只为整个分支生成一个补丁,然后将其应用于master?如果是这样,有没有办法保留一些历史?想法、建议等 最佳答案 您想使用gitrerere结合使用rerere-train.sh从历史提交中教授rerere数据

git - 更聪明的 rebase 避免冗余工作?

我在使用长rebase时遇到的一个问题是必须解决冗余冲突。假设我有一个分支,其中包含一系列不断修改函数的提交,而最终提交完全删除了该函数。当我执行rebasemaster时,Git天真地依次应用每个提交。这意味着我需要在master的提示下解决这些提交中的每一个-即使最终这些工作被浪费了。处理这种情况的好方法是什么?也许我应该只为整个分支生成一个补丁,然后将其应用于master?如果是这样,有没有办法保留一些历史?想法、建议等 最佳答案 您想使用gitrerere结合使用rerere-train.sh从历史提交中教授rerere数据

git rebase --continue 没有变化

我有两个具有两个功能的分支:banch_1和branch_2。branch_2使用branch_1中的功能。我在branch_1中进行了更改,并希望将branch_2rebase到branch_1以获取从branch_1到分支_2。所以,我正在检查branch_2:gitcheckoutbranch_2并尝试在branch_1上rebase:gitrebasebranch_1之后我得到两个文件的“merge冲突”。所以我跑gitmergetool-tmeld并解决冲突,从branch_1中选择更改。我正在保存文件并转到终端,输入gitstatus并看到git索引没有变化。接下来我运行g

git rebase --continue 没有变化

我有两个具有两个功能的分支:banch_1和branch_2。branch_2使用branch_1中的功能。我在branch_1中进行了更改,并希望将branch_2rebase到branch_1以获取从branch_1到分支_2。所以,我正在检查branch_2:gitcheckoutbranch_2并尝试在branch_1上rebase:gitrebasebranch_1之后我得到两个文件的“merge冲突”。所以我跑gitmergetool-tmeld并解决冲突,从branch_1中选择更改。我正在保存文件并转到终端,输入gitstatus并看到git索引没有变化。接下来我运行g

git - 如何推/pull Git rebase

我想使用gitrebase以便在master分支中干净地merge一个功能(在较少的提交中或至少在更改日志的顶部)。请注意,我是唯一一个在存储库上工作的人。看完Gitworkflowandrebasevsmergequestions,我发现gitrebase会非常好,就像Micah我想gitpush重新设置更改的基数只是因为我正在从不同的地方处理它们(例如:我的笔记本、我的家、某处的另一台PC...)所以这里有两个解决方案(针对双向丑陋merge):使用gitpush-f进行推送,然后在其他机器上进行pull,但是如何在其他机器上干净利落地获取到最新版本?使用merge将主更改merg