[英]Git submodule remote server
我的本地計算機上的以下2個文件夾包含共享庫/幫助器:
上面的庫應該是我后端的子模塊...
...以及我的前端:
到目前為止,所有內容都已配置並且可以正常工作!
此外,我還有用於前端和后端的遠程服務器。
現在,我想獲得以下信息:如果我在一個共享庫中提交了更改,我想通過一個git push(后端,本地計算機上的前端和后端,服務器上的前端)將更改推入所有4個存儲庫中。
如果這是不可能的:如果我在庫中提交更改,那么我想一次將更改至少推送到我的2個本地目錄中。 如果我將本地目錄之一的更改推送到遠程服務器,則子模塊的更改也應自動推送到遠程目錄。
共享庫中的更改只能在共享文件夾中進行,而不能在后端或前端中進行!
謝謝你的幫助!
現在,我想獲得以下信息:如果我在一個共享庫中提交了更改,我想通過一個git push(后端,本地計算機上的前端和后端,服務器上的前端)將更改推入所有4個存儲庫中。
簡單的git push是不可能的。 您不能使用工作副本將更改“推送”到存儲庫-您只能推送到裸存儲庫。 對於帶有工作副本的存儲庫,您只能從其他地方拉出。
子模塊的使用有些棘手,我已經嘗試過做類似您之前談論的事情。 我完全放棄了這個想法,而是希望使git子模塊中的內容更加通用,並能夠作為獨立的東西安裝在系統上。
這樣看-如果庫中的代碼與主存儲庫有足夠的可分離性,那么將其視為自己的軟件包並分別進行開發/部署是合乎邏輯的。 如果庫中的代碼嚴格依賴於您的主存儲庫,那么無論如何它都應該只是一個存儲庫。
並不是說子模塊沒有用-我仍然在使用它們。 如果要使用它們,則必須遵循它們的規則:
看起來很麻煩,但是子模塊與其他任何回購協議實際上並沒有什么不同。 它們獨立存在,您需要以這種方式對待它們。 另外,從父級的角度來看,子模塊文件夾只是其中包含sha1哈希的文件。 git submodule
命令只是方便腳本,用於在父級引用的存儲庫上進行操作。
UPDATE
雖然您無法在單個命令中使用純git來做到這一點,但是您可以編寫一個bash腳本來為您完成大部分工作,並且可以將其與git hooks組合以使其自動化。
它將無法自動處理沖突解決方案,如果出現問題,您可能會試圖找出4個單獨存儲庫的狀態。
我不會推薦這樣的解決方案。 它過於復雜且可能脆弱,要使它變得強大靈活且通用,您將不得不涉及的可能性之多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.