我编写了一个机器学习管道的蓝图,可以在许多项目中重复使用。当我遇到一个新项目时,我会创建一个分支并在该分支上工作。很多时候,当我在分支机构工作时,我会发现以下几点:
我在结合第 1 点和第 2 点时遇到了麻烦。有没有办法将一些更改从分支合并到主干,这对我来说似乎很棘手,因为这是一个连续的过程。
如果您是唯一在该分支上工作的人,您应该执行 git rebase -i (交互式 rebase)来重新排序您的提交,将应合并到 master 的提交放在第一位,并将最新的保留为最新的提交仅限分行。
git switch myBranch
git rebase -i master
# reorder to get:
m--m--m
\
M--M--M1--b--b--b (myBranch)
Run Code Online (Sandbox Code Playgroud)
完成后,在 M1 创建一个分支,并将该分支合并到 master
git switch -c tmp M1
git switch master
git merge b1
m--m--m--M--M--M1 (master)
\
b--b--b (myBranch)
Run Code Online (Sandbox Code Playgroud)
最后,强制推送你的分支,因为 rebase 重写了它的历史
git switch myBranch
git push --force
Run Code Online (Sandbox Code Playgroud)
(如果您是该分支上唯一的工作人员,那么这是最容易完成的)