2009-11-19 55 views
5

我現在在使用Git的團隊中,而且我們有一個非常好的工作流程。我們有一箇中央存儲庫,有兩個分支,dev和master。我們創建本地分支機構來處理個別任務。當他們準備好時,我們會融入開發。然後,我們會在事情準備好的時候合併掌握,並標記我們的所有版本。如果多個開發人員需要更直接地協作完成一項任務,我們可以爲他們創建另一個可能是臨時的遠程分支來分享補丁。這對我們來說非常好,但它給我們留下了兩個問題。如何使用中央存儲庫管理備份和監控Git?

一個問題是備份問題。當然,大多數代碼庫都已備份。每個擁有存儲庫克隆的機器都擁有大部分代碼。但是,一天中某人編寫的代碼在合併到開發和推送之前不會備份。如果他們正在處理的任務不是微不足道的,那麼他們可能需要幾天才能合併並推動值得的事情。我們如何確保這項工作正在進行中代碼在中央安全的地方備份?只需使用Git外部的一些備份解決方案?

第二個問題是監控員工進度問題。經理們希望能夠看到開發人員每天寫的代碼。如果有一天你不會推出任何東西,那麼你會覺得你整天都沒有做任何事情。我們需要某種方式來每天展示我們的工作,而不會強迫我們提交併推送未準備好提交,合併和推送的代碼。

我們考慮的一個解決方案是爲我們製作的每個本地分支在中央回購中創建一個遠程分支。這可能會起作用,但即使我們經常刪除舊的未使用的分支,它也會是一個大雜亂的混亂。管理所有這些也是很多額外的工作。

我們如何在不中斷Git工作流的情況下滿足這些業務需求?

+0

一般來說,我發現: 分支上工作時 推備份在 在一天結束時刪除,一旦你用不着它了,它已經集成到主分支 過程工作得很好。 – Kzqai 2009-11-19 23:35:15

+0

Bah,格式不正確,但你明白了,利用命名方案組織方式中的所有分支功能是簡單而有用的。 – Kzqai 2009-11-19 23:36:11

回答

3

你可以考慮做這樣的事情。爲私人開發人員備份使用非分支名稱空間。例如。 refs/backups/xxx/*其中xxx是開發人員用戶標識或縮寫或類似名稱。

然後開發人員可以做git push origin +refs/heads/*:refs/backups/xxx/*來備份他所有的本地分支機構。

默認情況下,開發人員不會看到彼此的私人備份,但如果需要可以檢索它們。

備份推式可以通過別名製作成git backup命令。

儘管我認爲這不是一個好主意,但開發人員的私人分支機構可以用來查看他的「進展」,這聽起來很像微管理。

編輯:當寫它時,這感覺很熟悉,然後我想起了爲什麼。前段時間我寫了一篇類似的文章來回應另一個問題:link

+0

這是一個很好的備份解決方案。但是,其他人如何檢查我的備份? – Apreche 2009-11-19 19:50:10

+0

是的,對我們來說這是一個'功能',不是問題。如果你想要真正的私人備份,那麼你真的需要每個用戶都有一個單獨的備份庫。 – 2009-11-19 20:45:06

相關問題