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

How to create a branch and reset another with git?

我正在 GitHub 上做一个项目。在我的计算机上,我进行了 6 次提交,但尚未推送到 GitHub 服务器。现在我意识到我想保留云端的当前 master 分支,并将提交放在一个名为 development 的单独分支中。我怎样才能做到这一点?我是 Git 和 GitHub.

的新手

编辑:我还有一些提交, 在未推送的提交之前被推送到 GitHub。我想将它们保留在两个分支中,而只将未推送的提交保留在 development.

在你叫的地方创建一个新分支development

git branch development

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

git checkout master
git reset --hard origin/master

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

您可以使用

推送新分支并设置远程跟踪(因此推送和拉取工作无需额外参数)
git push -u origin development 

假设您已经提交到 local master 分支;在本地创建一个新分支并将其命名为 development

git branch development
git checkout development

你的提交将在这个新分支中,你可以推送到 git 世界中的远程云

git push origin development

请确保您没有

 git push origin master

如果是这样,remote/cloud master 会收到您的提交;我相信你不需要

您要做的第一件事是在您所在的位置创建一个分支,并在其上 "be"。 git checkout 是唯一可以改变当前分支的命令。它的 -b 选项会在顶部创建一个分支(如果您不另行说明,则在您当前所在的位置):

git checkout -b development

然后您想将本地分支 master 设置回远程所在的位置。您可以通过将其设置为 so-called "local remote-tracking branch",这是远程分支的快照(从上次 fetch/push 开始):

git branch --force master origin/master

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