簡體   English   中英

我應該將項目的客戶端和服務器端分成兩個Git存儲庫,還是將它們保存在一個存儲庫中?

[英]Should I separate client and server side of my project into two Git repositories, or keep them in one?

所以我在同一個存儲庫中有兩個不同的項目,一個用於客戶端,另一個用於服務器端(它們不共享任何代碼)。

當我從master分支並在客戶端項目上進行更改然后我想合並回master(大約一個月后),我面臨與服務器端代碼(在服務器端工作的其他團隊成員)的合並沖突。

擁有兩個不同的存儲庫更好嗎,其中一個存放服務器而另一個存放客戶端代碼? 或者我應該按現在的方式保持它?

如果您打算同時部署新版本的客戶端和服務器軟件,那么將它們放在同一個存儲庫中是有意義的。 您說客戶端和服務器端代碼不共享任何代碼,因此合並時不應該有任何沖突。 但是你也說過你有沖突,所以聽起來兩個分支上的開發人員都在對服務器端代碼進行更改。 最好的解決方案是:a)告訴客戶端開發人員不要更改服務器端代碼,b)更頻繁地合並,以及c)在進行可能難以合並的更改時,團隊之間進行通信。

如果您現在遇到沖突,那么將其拆分為兩個存儲庫對您沒有任何幫助...可能您的分支仍然會對服務器代碼進行更改,但現在您只需要兩個存儲庫來合並而不是一個。 如果您嘗試使用此方法而不是現在正在執行的操作,我希望您會遇到相同的沖突,並且維護這兩個存儲庫會有更多的管理開銷。

首先要解決的問題是:為什么客戶端代碼與主端代碼存在合並沖突。 假設兩者都在處理不同的文件。

其次,而不是在兩個項目上使用一個git存儲庫。 我建議你將兩個項目分成兩個git存儲庫,並使用repo同時管理兩個存儲庫。

Repo是我們在Git之上構建的存儲庫管理工具。 Repo在必要時統一了許多Git存儲庫,上傳到我們的版本控制系統,並自動化部分Android開發工作流程。 Repo並不是要取代Git,只是為了讓它更容易在Android環境下使用Git。 repo命令是一個可執行的Python腳本,您可以將其放在路徑中的任何位置。 在使用Android源文件時,您將使用Repo進行跨網絡操作。 例如,使用單個Repo命令,您可以將多個存儲庫中的文件下載到本地工作目錄中。

引用Android開源開發

可以找到更多關於回購的參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM