簡體   English   中英

現有3個文件夾結構(理論)的新Git回購/分支

[英]New Git repo/branches from existing 3 folder structure (theory)

我正在嘗試從現有的3個文件夾結構(dev,beta,prod)中獲取有關如何設置git repo的驗證。 我了解打字的技術/命令。 但是我該如何從3個文件夾創建3個分支。 不幸的是,這些不是新項目,我們可以從git上重新開始,已經有很多文件在播放。 並且dev文件夾與beta / prod文件夾有很大的不同。

我們的主意

  1. 在prod文件夾中創建倉庫,使其成為“ master”分支。
  2. 然后創建一個分支“發行版”,此版本目前將與母版匹配(我們目前尚未進行Beta測試,因此請忽略/刪除beta文件夾)。
  3. 接下來創建一個“ dev”分支。
  4. 從文件夾/ dev分支中刪除文件?...
  5. 從dev文件夾中復制文件?
  6. 跟蹤,登台,提交...?

步驟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文件夾

轉到您的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存儲庫中的子模塊。


對於您的問題,在一個包含所有內容的倉庫中,您似乎擔心將文件夾中的文件導入分支。 您可以按以下步驟進行:

  1. 創建分支

    master$ git co -b devb

  2. 復制文件夾

    devb$ cp -r /path/to/external/dev dev

  3. 將文件夾和文件遞歸添加到git

    devb$ git add dev

  4. 提交結果

    devb$ git commit -m "initial dev commit"

暫無
暫無

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

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