2011-02-28 51 views
7

時,我通常有一個(開發)分支通向下一個發行版本,此時開發分支將合併到發行分支中,然後一個新的開發分支將被創建。默認HEAD在git中當多個分支HEAD引用我的項目中相同的SHA1

這意味着,有兩個分支機構負責人將被指向相同的承諾:

$> 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。

有什麼辦法可以解決這個問題,並且克隆默認爲'release'而不是'development_0103'?

+0

有沒有原因你不使用主? – 2011-02-28 18:10:15

+0

你使用的是什麼版本的git?我從未見過這個。 – Cascabel 2011-02-28 19:33:28

+0

jleedev:如果我將'release'重命名爲'master',那麼'master'仍然會出現在'development_0103'後依然出現在字母上 – 2011-02-28 19:44:27

回答

1

您可以使用單獨的遠程存儲庫來推送公共版本,而不是使用自己的方式。 您將像往常一樣在您的開發遠程回購中工作。將穩定提交合併到發佈分支。之後git push release_origin release。所以你可以與其他人分享這個release_origin回購。

或者有另一種黑客。 :)只需將您的發佈分支重命名爲a_release,所以它將按字母順序排列。 :)

相關問題