在当前分支上进行所有更改,并将它们移到Git中的新分支
我开始研究我认为是我的主分支上的一个小错误修复。 但是,它已经失去了控制,我希望自己创build了一个独立的分支机构来完成这个任务。
所以现在我想要做的是:
- 创build一个新的分支称为(说)“边缘”
- 将所有已更改/未跟踪的文件移到主服务器上(例如,从我开始修复错误时,主服务器不变)
- 完成我的工作,融入主人
我怎样才能做到这一点?
如果你还没有做任何事情,你已经处于正确的位置。
- 创build一个新的分支:
git checkout -b edge
- 你的文件没有改变。 只是
git add
需要和承诺照常。 - 当你完成提交时,切换回
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
如果你正试图将工作从master移到已经存在但是在master后面的分支,那么git不会让你切换到另一个分支。 在这种情况下,请这样做:
git stash git checkout oldBranch git merge master git checkout master git stash apply git checkout oldBranch