如何使用git创建分支并重置另一个分支?

时间:2017-02-11 03:21:17

标签: git github git-branch

我正在开发一个关于GitHub的项目。在我的计算机上,我做了六次提交,我还没有推送到GitHub服务器。现在我意识到我想保留云中的当前master分支,并将提交放在一个名为development的单独分支中。我怎样才能做到这一点?我是Git和GitHub的新手。

编辑:我还有一些提交,已经在未提交的提交之前被推送到GitHub。我希望将这些保留在两个分支中,只保留development中的未提交的提交。

3 个答案:

答案 0 :(得分:2)

创建一个名为development的新分支:

git branch development

然后将master移动到遥控器上的位置:

git checkout master
git reset --hard origin/master

现在development指向您的上一次提交,master是提交之前的位置。

您可以使用

推送新分支并设置远程跟踪(因此无需其他参数即可推送工作)
git push -u origin development 

答案 1 :(得分:1)

您要做的第一件事就是在您所处的位置创建一个分支,并且" be"在上面。 git checkout是唯一可以更改当前分支的命令。它的-b选项会在顶部创建一个分支(如果你不这样说的话,那就是你现在的那一点):

git checkout -b development

然后,您希望将本地分支master设置回远程所在的位置。这可以通过将其设置为所谓的"本地远程跟踪分支",这是远程分支的快照(从上次获取/推送的时间开始):

git branch --force master origin/master

您必须在此处使用--force,否则git branch将不会更改现有分支。

答案 2 :(得分:0)

假设您已向local主分支提交;在本地创建一个新分支并调用该开发

git branch development
git checkout development

你的提交将在这个新的分支中存在,你可以在git world中推送到云也称为远程

git push origin development

请确保您

 git push origin master

如果是这样,远程/云主人会有你的提交;我认为你不需要