采取一切我对当前分支的变化,并将其移动到Git中一个新的分支(Take all my changes

2019-07-17 11:59发布

我什么我以为会是我的主分支一个小bug修复开始工作。 然而,它已失去控制的地方,我想我已经创建了一个单独的分支做开发摆在首位的点。

所以现在我想要做的是什么:

  1. 创建一个名为(说)“边缘”的新分支
  2. 在掌握所有的改变/未跟踪文件移动到边缘(例如master是持平的时候,我开始了bug修复)
  3. 完成我的工作的优势,合并到主

我怎样才能做到这一点?

Answer 1:

如果您还没有提交任何事情,你已经在正确的位置。

  1. 创建一个新的分支: git checkout -b edge
  2. 您的文件并没有改变。 只是git add什么需要和提交如常。
  3. 当你完成了承诺的edge ,切换回mastergit checkoutgit merge edge


Answer 2:

要添加到JB的答案,如果你已经开始就掌握几个提交什么最终成为是一个“边缘”的努力,您可以:

git stash
git checkout -b edge master
git branch -f master SHA1_before_your_commits
git stash apply


Answer 3:

如果你正试图从主工作转移到已经存在,但背后是主分支,git会不会让你切换到另一个分支。 在这种情况下,这样做:

git stash
git checkout oldBranch
git merge master
git checkout master
git stash apply
git checkout oldBranch


文章来源: Take all my changes on the current branch and move them to a new branch in Git
标签: git branch