在GIT中创建新分支并进行代码更改

时间:2015-11-09 11:50:32

标签: git github

使用GIT时,我通常会在更新的主分支上创建功能分支,然后在完成工作后,我将功能分支合并回远程主分支。

要做到这一点,我通常会切换到本地主分支,执行git pull并使用git checkout -b 'myFeatureBranchName'这将创建&把我转到一个新的本地分行。我做了我的更改提交并推送然后合并回主人。

但是,在这种情况下,我已经切换到master完成了git pull但忘记创建并切换到新分支。是否有一个命令可以让我创建&切换到新的功能分支,并将我的所有更改都转移到新分支?

提前致谢

2 个答案:

答案 0 :(得分:3)

您的问题实际上包含您问题的答案。您可以使用此命令:

git checkout -b 'myFeatureBranchName'

这将创建一个包含所有工作的master新功能分支。您可以将此分支推送到远程,发出拉取请求,并正常合并。

然而,关于如何处理本地master分支存在一个挥之不去的问题,因为它现在将包含仅属于功能分支的新提交。您可以考虑以下两个选项:

一种是在开始为该功能提交之前回滚master。您可以在master中核实那些不属于那里的提交。如果master中有3次提交,您可以这样做:

git reset --hard HEAD~3

第二个选项是删除您的本地master分支,然后只需执行git pull即可从遥控器获取新分支:

git branch -d master
git checkout --track -b origin/master

在任何一种情况下,您现在已将功能分支推送到GitHub,并且您的本地master处于正确状态。

答案 1 :(得分:0)

您可能想看看这个问题:Move the most recent commit(s) to a new branch with Git

专业提示:永远不要在主分支上工作。将其分支到“开发”分支,并从那里创建您的功能分支。