我的Git工作流意味着我通常 - 但并非总是 - 在master中工作,并且主要使用交互式rebase。有时我会在master上做一些提交并意识到(在推送之前)我想把它们中的一些分成一个功能分支。
如果我这样做:
git checkout -b feature
然后我有一个新的分支,在其中重新安排/删除提交,但它正在跟踪本地master
而不是源/主。 Git提示,git status
表明我没有提前,交互式rebase无法使用(noop
)。所以我手动运行:
git branch --set-upstream-to=origin/master
开始工作之前。这很烦人。我此时也丢失了相关的@ {upstream},所以我甚至没有别名。
当我看到类似的问题时,我总能找到答案:
git checkout -b feature -t origin/master
但是,这意味着feature
分支不包含我在master上的本地提交。
如果我尝试将<start_point>
参数提供给git checkout
Git说fatal: Cannot update paths and switch to branch 'feature' at the same time.
。我不认为这实际上是我想要的(起点应该是相同的)。
是否可以组合从本地分支创建新分支,将上游设置为本地分支的上游并在一步中将其检出?