我有这样的事情:
A //branch 1
\
B - C //branch 2
\
D //branch 3
Run Code Online (Sandbox Code Playgroud)
我想得到这样的东西:
A - E //branch_1
\
B' - C' //branch_2
\
D' //branch_3
Run Code Online (Sandbox Code Playgroud)
我想一次执行一个命令并重新设置所有分支,所以我不必一一重新设置它们。这可能吗?
有时我想做一个变基,并确保其他引用更新到新结构,而无需手动重置或多次变基。
有没有一种方法可以一次性完成,以便 git rebase 可以将引用更新为在 rebase 之前选择并具有引用的新提交?
一个例子:
Rebase前的情况:
* abc3... commit3 (branch:a, HEAD)
* abc2... commit2
* abc1... commit1 (branch:b)
* abc0... base commmit (branch:master)
Run Code Online (Sandbox Code Playgroud)
然后执行 Rebase master -i: pick abc3, abc1, abc2
结果将如下所示:(branch:b 保留在自己的提交分支中)
* abc6... commit2 (branch:a, HEAD)
* abc5... commit1
* abc4... commit3
|
| * abc1... commit1 (branch:b)
|/
* abc0... base commmit (branch:master)
Run Code Online (Sandbox Code Playgroud)
我希望结果看起来像:(分支:b 更新为新提交)
* abc6... commit2 (branch:a, HEAD)
* abc5... commit1 (branch:b)
* abc4... commit3
* abc0... base commmit (branch:master)
Run Code Online (Sandbox Code Playgroud) 在处理我的功能分支时,我不断地对它们进行重新排序和压缩,git rebase -i以保持我的历史记录的更清晰版本。有时我会开发多个相互依赖的功能(我团队的规则是使 PR 尽可能小,因此较大功能的一个原子块通常会成为其自己的功能分支)。由于此工作流程,我通常会在重新设置分支基础后手动重新指向分支。有没有办法自动将这些指针移动到它们应该着陆的位置?
例如,在此图中:
5bab4818e (HEAD -> cell-toggle-comp) Added cell-toggle component
d55cab881 (toggle-comp) Toggle: Added honey traceability comment
4240f0ac3 Made Toggle a named export and replaced references to obsolete <ui> alias
90a0b2452 Refactored Switch instances to toggle
e15c758a0 Updated Switch component to latest specs (and renamed things to match design lingo)
d53090e93 (fix-switch-reference) Fixed Switch reference that was being imported from React Native instead of src/components
4a214cb72 (cell-text-selection-comp) Added CellTextSelection ui component
cef3b5716 (origin/master, origin/HEAD, master) …Run Code Online (Sandbox Code Playgroud) 我一直在尝试学习如何从分支 A 成功创建分支 B(这两个分支对我来说都是本地分支),并将它们合并到我公司在 GitLab 中的代码中。我遇到了很多有趣的阅读,但我仍然对如何最好地将我的分支应用回主分支感到困惑。
现在我们有:
main ->
branch_A ->
branch_B
Run Code Online (Sandbox Code Playgroud)
假设我完成了分支 A 并合并了我的 MR。此时main将具有来自的代码branch A(我相信作为合并提交),并且将具有来自原始提交的branch B代码。branch A
我对如何完成我的branch BMR 感到困惑,因为我认为由于branch A代码在两个地方都会发生冲突。我怎样才能让我的branch B承诺main也进入?这是在 GitLab 上。
(如果我尝试在此时进行变branch B基,我想我仍然会看到相同的冲突,但我只会将它们作为变基的一部分遇到。我的目标是以某种方式让我的代码进入,而不会看到一堆虚假的冲突。 )mainmain
(有一段时间,我认为这个很好的问题会对我有所帮助。然而,这更多的是关于如何将更改从main链接分支中获取。我的问题基本上是相反的,如何将代码从分支返回到主分支中,作为我的当我完成后的 MR。如果我遵循了其他问题的说明,我想这两个 MR 都可以快进。但是我认为 GitLab 可能不会快进。)