我处在一个suituation中,我在我的存储库中有未分级/未跟踪的更改,我想创建并移动到新分支并将这些更改提交到新分支,而不是主分支。
我在stackoverflow上找到了这个问题:
Take all my changes on the current branch and move them to a new branch in Git
我永远无法理解答案。
基本上我的理解是我必须做的是:
一
将我的更改添加到存储中,因为git不允许我在没有先提交或存储我的更改的情况下签出另一个分支
两个
创建并签出新分支
三
将存储作为新分支应用于新分支
我知道如何做一两个但不确定三个
上面的stackoverflow问题给出的答案之一是:
//comments are my understanding on what is happening
//not necessarily true
git stash //add to stash
git checkout -b edge master //create new Bracnh and checkout to it
//Not sure what is happening in the below two lines
git branch -f master SHA1_before_your_commits //reset master to the last commit
git stash apply // apply stash to branch,now I can commit to the new branch
答案 0 :(得分:2)
只需提交更改,创建新分支,并将主服务器重置为先前的提交,例如
git commit -a
git branch newBranch
git reset --hard HEAD~
git checkout newBranch
答案 1 :(得分:1)