[英]New Git repo/branches from existing 3 folder structure (theory)
我正在嘗試從現有的3個文件夾結構(dev,beta,prod)中獲取有關如何設置git repo的驗證。 我了解打字的技術/命令。 但是我該如何從3個文件夾創建3個分支。 不幸的是,這些不是新項目,我們可以從git上重新開始,已經有很多文件在播放。 並且dev文件夾與beta / prod文件夾有很大的不同。
我們的主意
步驟4-6是相關的部分,我不知道是否刪除所有文件然后從dev文件夾復制進去都會丟失任何內容
從理論上講,這將為我們提供三個分支,可以將它們從中提取/克隆到本地計算機。 合並到發行版和開發人員的產品中,必須進行交互/挑選,我認為我們可以管理。
任何建議都將不勝感激,即使這是在喊叫“不要等,不是那樣!”!
首先創建一個存儲分支的存儲庫。 對於此示例,我將僅使用文件系統,但實際上在實踐中,它可能托管在遠程服務器上:
$ git init --bare project.git
轉到您的prod
目錄並在那里初始化git存儲庫:
$ cd prod
$ git init
創建一個名為“ prod”的分支:
$ git checkout -b prod
添加所有文件:
$ git add .
$ git commit -m 'added prod files'
和遙控器:
$ git remote add origin /path/to/project.git
並推:
$ git push origin prod
轉到您的dev文件夾並在那里初始化git存儲庫:
$ cd dev
$ git init
添加遠程存儲庫:
$ git remote add origin /path/to/project.git
創建一個新的dev
分支:
$ git checkout -b dev
添加所有文件:
$ git add .
$ git commit -m 'added dev files'
並推:
$ git push origin dev
對您的Beta文件夾重復相同的過程:
$ cd beta
$ git init
$ git remote add origin /path/to/project.git
$ git checkout -b beta
$ git add .
$ git commit -m 'added beta files'
$ git push origin beta
從裸存儲庫創建工作副本:
$ git clone -b prod /path/to/project.git
$ cd project
這里的-b prod
使git簽出prod
分支。 查看可用的分支:
$ git branch -a
* prod
remotes/origin/beta
remotes/origin/dev
remotes/origin/prod
現在您已經准備就緒。
您必須考慮另一種選擇,即您描述的文件夾可以更好地映射到單獨的存儲庫,而不是在單個存儲庫中分支,尤其是在您聲明的dev
文件夾與其他文件夾明顯不同的情況下。
您可以為每個分支創建一個存儲庫,將它們添加為其他所有存儲庫中的遠程存儲,並且從dev存儲庫中合並到release和prod中(例如,遠程dev/master
分支)仍然是一件難事。 以后,您可以繼續進行此操作,並將所有存儲庫視為uber存儲庫中的子模塊。
對於您的問題,在一個包含所有內容的倉庫中,您似乎擔心將文件夾中的文件導入分支。 您可以按以下步驟進行:
創建分支
master$ git co -b devb
復制文件夾
devb$ cp -r /path/to/external/dev dev
將文件夾和文件遞歸添加到git
devb$ git add dev
提交結果
devb$ git commit -m "initial dev commit"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.