[英]Using git as a better SVN
我們是一家SVN商店 - 現在我們使用git(所有很酷的孩子都在這里)。
每個開發人員在處理新功能時都會在自己的git樹上本地檢查代碼。 當一些工作准備好提交到主存儲庫時,我們在每個項目的共享驅動器上都有一個目錄。 然后,我們對該repo執行git push
,並使用git sync
或git pull
來從“one true source”更新單個dev機器。
當有人推送到存儲庫時,我們遇到了一個意外,並以某種方式設法用dev機器版本的自己的git樹替換主要的repo。
這是最好的'git'做事方式嗎?
我們在兩個站點上,但共享目錄很常見。 少數開發人員通常可以避免代碼區域發生重大沖突。 所有在Windows上,使用TortoiseGit,安全性並不太重要,但我們沒有管理員支持,因此復雜的服務器解決方案已經淘汰。
在下面的鏈接中查看工作流程,我的偏好是集成管理器工作流程(類似於@ simon的第二個選項),並與github的模型相關: http : //progit.org/book/ch5-1.html
使用git的兩種常用方法是:
所有開發者都從中央倉庫撤出並推送到中央倉庫(正如您現在所做的那樣)
每個開發者都有一個私人回購和一個公共回購。 他從其他公共回購中掏出他想要的東西,只推到他自己的公共回購中。
如果您選擇第二個選項並且您的代碼不必是私有的,您可以使用github來簡化您的生活。
在我們的項目中,我們有一個中央服務器,它有一個gitosis管理的存儲庫,有幾個分支。 從那里開始,每個開發人員都會對要處理的分支進行最新更改,進行自己的更改,在本地提交以及何時可編譯和測試(如果可能)再次拉動(合並任何更改)並推送。
通常,沒有太多中斷的小功能直接在主分支中進行,而更大的更改首先在它們自己的分支上完成(這可能由多個開發人員以這種方式共享)。
完成使用后不要忘記刪除分支,否則會讓人感到困惑。 我實際上有一個名為branches
的特殊分支,它跟蹤git merge -s ours ...
在其決定點(分支,合並,結束)引用所有其他分支,所以即使我刪除了一個沒有真正合並的分支(例如,因為我決定不去這條路線,或者它只是一些尋找錯誤的分支),我仍然有一個參考它,並可以在必要時恢復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.