7

私のプロジェクトでは、通常、次のリリース バージョンにつながる (開発) ブランチがあり、その時点で開発ブランチがリリース ブランチにマージされ、新しい開発ブランチが作成されます。

これは、2 つのブランチ HEAD が同じコミットを指していることを意味します。

$> cd project.git  
$> rgrep release .  
    ./packed-refs:2808f1de3e05bf7fcc509c20f31a93e2ba645bd3 refs/heads/release  
$> rgrep 2808f1de3e05bf7fcc509c20f31a93e2ba645bd3 .  
    ./packed-refs:2808f1de3e05bf7fcc509c20f31a93e2ba645bd3 refs/heads/release  
    ./packed-refs:2808f1de3e05bf7fcc509c20f31a93e2ba645bd3 refs/heads/development_0103  

私のレポからクローンを作成した人に、リリース ブランチから自動的にチェックアウトしてもらいたいです。

$> cd project.git  
$> git symbolic-ref HEAD  
    refs/heads/release  

しかし、そのレポからクローンを作成すると、アルファベット順で最初に一致するブランチがチェックアウトされるようです

$> git clone project.git/ project.clone  
$> cd project.clone  
$> git status  
    # On branch development_0103  
    nothing to commit (working directory clean)  

git は SHA1 を見てチェックアウトするブランチ名を調べているようですが、実際にはリモートのシンボリック ヘッド HEAD を使用していないようです。

これを解決して、クローンのデフォルトを「development_0103」ではなく「release」にする方法はありますか?

4

1 に答える 1

1

独自の方法を使用する代わりに、公開リリースをプッシュするために別のリモート リポジトリを使用できます。開発リモート リポジトリで通常どおり作業します。安定したコミットをリリース ブランチにマージします。そしてその後git push release_origin release。したがって、この release_origin リポジトリのみを他の人と共有できます。

または、そのための別のハックがあります。:) リリース ブランチの名前を a_release に変更するだけで、アルファベット順で最初になります。:)

于 2011-03-03T09:59:37.563 に答える