2016-05-26 3 views
1

GitHubリポジトリでは、masterブランチを実際にx.y.zブランチのエイリアスにしたいと思います。結果として、x.y.zとmasterからのすべてのフェッチ/プッシュは、まったく同じ結果になります。私は人々がそれに慣れているのでmasterブランチを保ちたいと思うが、x.y.zブランチがブランチ名の特別なケース(他のブランチはa.b.c,...)でないようにしたい。GitHubリモートシンボリックリファレンス/ブランチエイリアス

GitHubでこれを達成する方法はありますか?または一般的なGitリモートリポジトリで?

答えて

0

GitHub側では、the default branchを変更できます。
リモートのRepo側では、similarly change the default branchとすることができます。

ブランチ設定エイリアスはGitHub側では直接実行できません。

git symbolic-ref refs/heads/master refs/heads/x.y.z 

しかし、エイリアス部分はgitのクローン化されたレポに伝播しません:すべての新しいクローンがデフォルトx.y.zでチェックアウトするだろうが、そのユーザーが持っているでしょう
は、それはあなたがアクセス権を持っているリモートホストしているgitのレポサーバー上にあります別名をローカルに設定します。

+0

よろしくお願いいたします。そしてもし私が 'git clone --bare'を使ってGitHubリポジトリを実行したら、あなたがアドバイスした 'git symbolic-ref'コマンドを実行して 'git pushh --mirror'を使用するとどうなるでしょうか? – Mickael

+0

@Mickaelあなたは試してみることができますが、エイリアスはプッシュされず、エイリアスが指している解決済みのコミットだけが信じられます。そして、デフォルトのブランチリファレンスはプッシュされません*そのリファレンスはリポジトリに対してローカルのままで、他のものがそれを複製しているときに使用されます。 – VonC

+0

私は実際に試しましたが、symbolic-refブランチは 'git push -mirror'の後にシンボリック-refsブランチとして解釈されません。これは通常のブランチとして作成されています。この制限は、シンボリックリファレンスを無視し、シンボリックブランチを通常のものと同じように見せるGitプロトコルと、 "エイリアス"をサポートしないGitHubの両方にあります。 – Mickael