如何将工作从master分支克隆到新分支?

时间:2019-06-08 01:53:53

标签: git github

我一直在master分支上工作。现在,我想将所有工作拉到我刚刚创建的新分支中,以继续在那里工作。

我是git的新手,其想法是在分支上工作,然后将其合并到master上,直到我的代码通过(我在学校)。但是我已经开始并且取得了很多我不想失去的进步。

我已经git checkout了,但是它只给我一个空白的自述文件。

3 个答案:

答案 0 :(得分:1)

如果对master的最后几次提交应该在功能分支上完成,则可以:

  • 创建功能分支
  • 将母版重置到应该的位置

也就是说:

m--m--m--f--f--f (master)

git checkout -b feature
git push -u origin feature

m--m--m--f--f--f (master, feature)

git checkout master
git reset --hard @~3 # make sure you don't have any pending modification
                     # this reset 3 commits back: adapt to your case

如果您已经推送了master,则可能需要git push --force
如果您在同一个存储库上工作,请先进行通信,然后再强制推送任何分支。

答案 1 :(得分:1)

从您的描述中,我可以想象您正在使用master分支,但是似乎您尚未添加更改并且尚未创建任何提交(仅用于我) 在这种情况下,您只需创建一个新分支

git checkout -b new_branch_name

如果您将工作提交到master分支中的提交中并且已经将其推送到Github(如果没有,请忽略下面的命令),您可以回到master分支将其撤消

git checkout master 
git reset --hard HEAD~HERE_NUMBER_OF_YOUR_NEW_COMMITS
git push origin master -f
git checkout new_branch_name #To continue work on new branch (with all your new works remained)

然后,提交更改(完成操作后应重复多次

git add .
git commit -m "I created new feature"
git push new_branch_name

然后,从Github中,您可以创建一个pull request,以便您的导师/队友可以进行审核

答案 2 :(得分:0)

您只需要从master分支创建新分支。来自master分支的所有内容都将在新分支上可用。