在工作中,我們正在努力改進我們當前的工作方式,我們認爲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的修補程序,例如。
感謝
爲什麼要讓customer1和customer2分別代替分支主要回購?你可以很容易地在git中使用branch-of-branches。 –
是的你是對的。這真的是一個需求,我只是認爲這將是一個好主意;) – Sam
你能否提供SVN回購的實際目錄佈局? SVN只是爲分支執行復制操作,因此它非常靈活,但git會以不同方式處理分支和複製,因此您需要告訴它哪些副本確實是分支。 –