我想更深入地了解
假设我有这个工作流,
git rebase
。假设我有这个工作流,
git rebase
是否有用呢?
如果有的话,从MASTER
到BRANCH
迁移提交X到Z的命令将是什么(假设不使用cherry-pick)。
git rebase
。git rebase
是否有用呢?
如果有的话,从MASTER
到BRANCH
迁移提交X到Z的命令将是什么(假设不使用cherry-pick)。
信不信由你,你实际上正在将 master
分支基于 branch
进行变基!
以下是可用于实现此目的的命令:
git checkout master # checkout the master branch
git checkout -b newbranch # create new branch based on master
git rebase branch # rebase on 'branch'
请记住,我创建了一个名为newbranch
的新分支,它将以你想要的方式显示。关于原始的branch
,你可以自行决定要做什么。现在newbranch
将如下所示:
A--B--C--D--X--Y--Z
一个更典型的工作流程是通过将branch
基于master
进行变基,即将新更改从master
带入branch
中:
git checkout branch
git rebase master
branch
看起来像这样:A--X--Y--Z--B--C--D
$ git checkout master
已经在'master'分支上
$ git checkout -b threads2
切换到新分支'threads2'
$ git rebase origin threads
致命错误:需要一个单一的修订版本
无效的上游来源
- artm$ git rebase origin threads1 致命错误:需要一个修订版本 无效的上游源origin
- artmgit rebase origin branch
需要更改为 git rebase origin/branch
才能对我起作用。我不确定为什么,请在您认为正确的情况下更新它。 - artmorigin
的引用。实际上,你需要指定一个分支的名称。所以,git rebase branch
是可以的, git rebase origin/branch
也是可以的。前者使用本地分支,而后者使用远程分支。git rebase origin branch
是没有意义的。 - Tim Biegeleisen如果你在检出分支的情况下执行 git rebase master
命令,那么就会将该分支的提交记录重新应用到 master
分支之上:
A--x--y--z--b'--c'--d' (Branch)
|
(master)
这有助于确保您的分支
的本地提交与最新的master
演变仍然兼容。
请确保您尚未推送您的分支
,因为它会更改其历史记录。