在当前分支上进行所有更改,并将它们移到Git中的新分支

我开始研究我认为是我的主分支上的一个小错误修复。 但是,它已经失去了控制,我希望自己创build了一个独立的分支机构来完成这个任务。

所以现在我想要做的是:

  1. 创build一个新的分支称为(说)“边缘”
  2. 将所有已更改/未跟踪的文件移到主服务器上(例如,从我开始修复错误时,主服务器不变)
  3. 完成我的工作,融入主人

我怎样才能做到这一点?

如果你还没有做任何事情,你已经处于正确的位置。

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

为了补充JB的回答,如果你已经开始在主人面前进行一些“边缘”努力,你可以:

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

如果你正试图将工作从master移到已经存在但是在master后面的分支,那么git不会让你切换到另一个分支。 在这种情况下,请这样做:

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