2015-01-14 75 views
0

我們有問題的標籤,這是我們團隊中的一員來到我們的GitHub存儲庫和搜索在該標籤/分支下拉分支列表中的代碼名稱,在輸入標籤名稱後按下回車鍵。但它是一個標籤的名稱,並且他們選擇了分支選項卡。所以GitHub幫忙創建了一個分支(從主人)(當團隊成員按下返回時)。但是我們並沒有意識到,直到有人試圖部署標籤並取而代之,這種情況才發生。GitHub的分支同名上週

有沒有其他人有這個問題?我們正在嘗試使用tags /來測試部署,但我們有2個部署環境,一個在AWS上,另一個基於capistrano。我們的版本capistrano顯然不喜歡這種語法,如果你使用refs/tags /它會去掉「refs/tags /」部分並使用它。這讓我擔心AWS正在做什麼。我現在正在努力調查這一點,但我對廚師不太好,所以我想我會在這裏問。

有沒有辦法阻止在GitHub中創建與標籤名稱相同的分支? AWS是否使用tags/部件或剝離?

回答

0

爲什麼不重命名分支?

git branch -m new_name old_name 

即使是reflog也會被保留。

+0

我們不需要新的分支。我們不知道它已經創建。團隊成員只是搜索一個標籤,並在輸入標籤名稱後按回車,甚至不知道他們已經創建了一個分支。 – nroose

0

您可能想要探索的一條途徑是編寫客戶端pre-push hook

如果預扣鉤退出0,將阻止推送。如果它退出1,它允許繼續推送。

根據文檔:

該鉤子被GIT中推調用,可以用來防止從 發生推。如果使用的命名遠程不是 ,則使用兩個參數調用掛接,這兩個參數提供目標遠程的名稱和位置。兩個值都是相同的。

關於什麼是要推設在鉤的 標準輸入與表格的行信息:

<local ref> SP <local sha1> SP <remote ref> SP <remote sha1> LF對於 例如,如果命令混帳推起源主:國外已經運行 鉤將獲得線路如下所示:

refs/heads/master 67890 refs/heads/foreign 12345

我能想象一個簡單的腳本檢查「分支」的存在在<local ref>,並退出消息"use tags, not branches"什麼的。

爲了傳播鉤到你的倉庫,你將需要set a hookPath using git config