2017-04-07 16 views
0

を押して何私は支店名の衝突

私はクローンまたはリモートリポジトリからフェッチは、リモートの名前は、このリモートからインポート枝の名前の前に付けている知っていると思います。
たとえば、リモコンがoriginという名前のリポジトリにある場合は、リモートのmasterブランチのクローンを作成した後、origin/masterという名前のリポジトリがあります。

この現象は、リポジトリに既に存在するブランチ(ローカルで作成されたものであっても、他のリポジトリからインポートされたものであれ)にインポートされたブランチ間で名前の衝突がないことを保証します。

私がプッシュされます枝の名前に(つまり私の質問)

は私のリポジトリ名は、(リモートリポジトリに)接頭辞、私はリモートリポジトリにプッシュすると、さを知りませんか?

もしそうでなければ、支店名の衝突はどのように回避されますか?私は私がクローンまたはリモートリポジトリからフェッチするとき

、リモートの名前がは、このリモートからインポート枝の名前にを接頭辞である知っていると思う何

+1

支店名の衝突は* *、回避されていません。例えば、 http://stackoverflow.com/questions/31631726/how-does-git-deal-with-identical-branch-names-from-two-different-remote-repo and http://stackoverflow.com/questions/17359978/別々のローカルブランチとリモートブランチの詳細については同じ名前の2つのブランチを持つ理由はありません。 – jonrsharpe

答えて

1

たとえば、リモートが自分のリポジトリ内で起点と呼ばれている場合、クローン作成後、リモートのマスターブランチはorigin/masterと呼ばれます。

これはまったくそうではありません。あなたはgitリポジトリをGitのクローンを作成する場合
あなたはすべての枝に参照を取得するだけのマスターを使用すると、ブランチはgitをチェックアウトするたびに、それにトラックブランチを追加

enter image description here

をチェックアウトされ

enter image description here

私はリモートリポジトリにプッシュ

は、ナ私のリポジトリです私はプッシュされるブランチの名前に(リモートリポジトリ内で)プレフィックスを付けましたか?

あなたがプッシュgitのは

refspec

refspec

と呼ばれる内部機構を使用すると入力するたびに

refspecのフォーマットは<src>がある<src>:<dst>、続く、オプション+ですリモート側のリファレンスのパターンと<dst>は、それらのリファレンスがローカルに書き込まれる場所です。
+は早送りではなくても参照を更新するようGitに指示します。

もっと読み:あなたは2つの場所で同じ名前の枝を作成し、同じリモートの両方にプッシュしようとすることで見つけることができますよう
https://www.atlassian.com/git/tutorials/refs-and-the-reflog#refspecs