我开始研究我认为是我的主分支上的小错误修复。然而,它已经失去了控制,我希望自己创建了一个独立的分支机构来完成开发工作。在当前分支上进行所有更改并将它们移动到Git中的新分支中
所以现在我希望做的是:
- 创建一个名为(说)“边缘”的新分支
- 前进主所有的改变/未跟踪文件到边(这样主人是当我开始bug修复)
- 完成我的工作的优势,合并到主
我怎样才能做到这一点不变?
我开始研究我认为是我的主分支上的小错误修复。然而,它已经失去了控制,我希望自己创建了一个独立的分支机构来完成开发工作。在当前分支上进行所有更改并将它们移动到Git中的新分支中
所以现在我希望做的是:
我怎样才能做到这一点不变?
如果你还没有提交任何东西,你已经处于正确的位置。
git checkout -b edge
git add
什么需要和承诺照常。edge
的承诺后,请切换回master
与git checkout
和git merge edge
。要添加到JB的答案,如果你有已经开始就掌握几个提交什么结束了作为一个“边缘”的努力,您可以:
git stash
git checkout -b edge master
git branch -f master SHA1_before_your_commits
git stash apply
藏匿包装并非绝对必要,但仅仅针对未经授权的工作更改是正确的? – HaveAGuess 2011-10-22 15:28:27
@HaveAGuess正确。通过“采取我所有的变化”,我还包括了当前尚未添加的变更。因此,藏匿。 – VonC 2011-10-22 16:11:02
谢谢(表决) – HaveAGuess 2011-11-07 11:55:29
如果您正试图将工作从主机移动到已存在的分支,但在主机后面,git不会让您切换到其他分支。在这种情况下,这样做:
git stash
git checkout oldBranch
git merge master
git checkout master
git stash apply
git checkout oldBranch
没有犯下任何事情,让第一线是一个可喜的景象......唷,这实际上是相当痛苦:-) – Ryan 2017-12-11 15:52:01