我有一段代码,工作得非常好,现在我要在工作电脑上创建一个分支进行一些重要的更改,使用命令 git checkout -b messaging
。我提交了部分完成的工作,并使用命令 git push origin messaging
将其推送到远程存储库中。现在我回到家里,运行命令 git pull origin messaging
并切换到了这个分支,但我想切换回 master 分支,但是运行 git checkout master
命令后收到以下信息:
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
我的 messaging
分支的所有文件都在那里。 git status
告诉我我目前在 master
分支,但是我的分支比 origin/master
提交多1次。 我已经想出了两种方法来获取到我的真正的主分支:
git checkout origin/master
git checkout master~1
但是我对这种情况感到困惑,我想确保我对 master
的更改不会影响 messaging
分支,反之亦然。 我想做的是将 origin/master
作为我的本地 master
,并将 messaging
保持在其单独的分支中。 我在家里电脑上做了什么让 master
指向 messaging
提交? 目前,我想要有两个完全隔离的分支。
再考虑一下,当我执行 git pull origin messaging
时,我正在我的 master
分支上,这实际上会将 messaging
分支合并到我的本地 master
中吗? 如果是这样,我应该怎么做(创建本地的 messaging
分支并将其拉入其中?)并且如何将我的本地 master
指向没有 messaging
更改的提交?