最近、作業中のブランチを「master」ブランチとマージしました。 Origin/master
とOrigin/HEAD
の両方のブランチを作成するために、プッシュまたはプルするときに何かを実行する必要があります(まだgit n00bのようなものです)。残念ながら、これを実行したコマンドを実行した記録はありませんでした。現在、私のチームのマスターコピーには、プロジェクトをチェックアウトしたときに取得できないコードがたくさんあります(新しい場所にclone
しても)。
Sourcetreeが表示しているもののスクリーンショットは次のとおりです。
私は本当にこれを解決する必要があります。そうすれば私は仕事を続けることができるので、どんな助けでも大いに感謝されます。
これはマスターへの単なるポインターであり、必要に応じてシンボリックリンクです。ターミナル(またはWindowsユーザーの場合はgit bash/cygwin)で次の手順を実行することで、安全に削除できます。
git remote set-head Origin -d
今それはなくなっているはずです:
$ git branch -r
Origin/master
Origin/
で始まるブランチは、いわゆる「リモート追跡ブランチ」です。それらは、リポジトリ内のブランチの位置Origin
がそのリポジトリから最後にgitをフェッチしたときの位置を示します。
心配する必要はありません。これは実際に役立つ情報です。これらのブランチの位置が古くなっていると思われる場合は、次のコマンドを実行できます。
git fetch Origin
...それらを更新します。
どのリポジトリでも、HEAD
は、現在のブランチ(または、特定のブランチにいない場合は現在のコミット)を表す特別な種類のref(「symref」)です。
図を見ると、master
ブランチは実際にはOrigin/master
より1コミット進んでいることがわかります。したがって、同僚がmaster
のOrigin
にプッシュしている場合は最近git fetch Origin
(または同等のもの)を実行しましたが、すでにすべての作業が完了しています。ただし、それをプッシュするまで、コミットは失われます。
あなたは言う:
現在、私のチームのマスターコピーには、プロジェクトをチェックアウトしたときに取得できないコードがたくさんあります(新しい場所にクローンを作成した場合でも)。
その場合、彼らはおそらく別のブランチ、別のリポジトリにプッシュしているか、作業をまったくプッシュしていません。