2012-09-10 21 views
2

在工作中,我們正在努力改進我們當前的工作方式,我們認爲Git可能能夠解決我們的問題。如何從此設置遷移到Git(svn)

我們目前的回購在SVN託管,看起來像這樣:

MAIN ---trunk 
    ---bugfix 
CUSTOMER1 
    ---trunk 
    ---bugfix 
CUSTOMER2 
    ---trunk 
    ---bugfix 

現在,這裏是玩笑:) customer1表和2 basicly基於主,但主要項目所需的定製和他們決定拆分它們分成2個分支並重做MAIN的幾個共享代碼。

它已經到了不能將MAIN合併到customer1或2中的地步。因爲很多代碼已被覆蓋。 當我們應用新功能或bug修復時,我們必須手動編輯MAIN,customer1,customer2和EVEN的代碼,在某些情況下,錯誤修復會分支分支。我們花費30分鐘爲一個修補程序和30分鐘的複製代碼粘貼到其他分支。

是的,我們知道這是一個完全錯誤的工作方式,但是我們想改變這一點。

我有一些體面的git知識,我知道其他幾個項目的工作是這樣的,例如看@ chiliproject。 Basicly我們想建立一個像這樣也許:

MAIN --- develop 
    --- feature 
    --- master 
    --- bugfix 
    \ 
    customer1 
      --- ... 

    \ 
    customer2 

也許3個庫總,在這裏客戶1和2都基於主。當我們將新代碼應用於MAIN時,我們可以簡單地將它拖入customer1和customer2。 有人可以就我們如何解決這個問題提出建議嗎?

此外我試圖添加一個遠程repo到customer1,遠程beeing主。當我獲取最新版本時,我從MAIN獲取所有差異。顯然,因爲代碼是不同的,我不想合併這一點。不過,我希望在將來的修訂版本1中僅包含hello.php的修補程序,例如。

感謝

+0

爲什麼要讓customer1和customer2分別代替分支主要回購?你可以很容易地在git中使用branch-of-branches。 –

+0

是的你是對的。這真的是一個需求,我只是認爲這將是一個好主意;) – Sam

+0

你能否提供SVN回購的實際目錄佈局? SVN只是爲分支執行復制操作,因此它非常靈活,但git會以不同方式處理分支和複製,因此您需要告訴它哪些副本確實是分支。 –

回答

1

這個小教程可以幫助您與遷移:http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git

無論你想要什麼/需求可能仍是未知給我,不過,它可能會有所幫助。

我在官方Git網站http://git-scm.com/發現它。

希望這會有所幫助。 :) (如果這屬於一個評論,那麼我很抱歉,我不能因爲某些原因在主要問題中發表評論。)

+0

如果有幫助,請記住加快我的答案,並接受它作爲答案。這是你能給我的最好的感謝。 :) – greduan