かなりうまく機能しているコードがあり、ブランチを作成して、仕事用コンピューターにいくつかの重要な変更を加えましたgit checkout -b messaging。部分的に完成した作業をコミットし、リモート リポジトリにプッシュしましたgit push origin messaging。家に帰ったので、git pull origin messagingそのブランチにいますが、マスターに戻りたいgit checkout masterのですが、次のメッセージが表示されます。
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
messagingブランチ の変更によるすべてのファイルがそこにあります。git status私がブランチにいることを通知しますが、私のブランチは1 コミットmaster進んでいます。本当のorigin/masterマスターに到達するには、次の2 つの方法があることがわかりました。
git checkout origin/master
git checkout master~1
masterしかし、私はなぜこれが起こっているのか混乱しています。変更がブランチに影響を与えないようにしたいのですが、messagingその逆も同様です。私がやりたいのは、origin/master自分のローカルも作成し、別のブランチにmaster保持することです。自宅のコンピューターでコミットを指摘するmessagingために何か間違ったことをしましたか? この時点で、2 つの完全に分離されたブランチが必要です。mastermessaging
もっと考えてみると、git pull origin messaging私がmasterブランチにいたとき、それは実際にmessagingブランチをローカルにマージしましたmasterか? もしそうなら、私は何をすべきでしたか(ローカルmessagingブランチを作成してそれにプルしますか?)、どうすればローカルを変更masterなしでコミットに戻すことができmessagingますか?