我试图从我们现有的3文件夹结构(dev,beta,prod)中获得关于如何设置git的验证。我理解输入部件的技术/什么命令。但是如何从三个文件夹创建这三个分支呢?不幸的是,这些不是新的项目,我们可以重新开始与git上,有很多文件已经在发挥。而dev文件夹与beta/prod文件夹有很大的不同。
我们的想法
步骤4-6是有关的部分,我不知道是否删除了从dev文件夹复制的所有文件。
理论上,这将给我们三个分支,我们可以拉/克隆到我们的本地机器。合并到版本中并从dev中得到的驱动必须是交互式的/精心挑选的,我认为我们可以做到这一点。
任何建议都会受到极大的赞赏,即使这是一种叫喊和尖叫的‘不等待,不是那样!’
发布于 2014-04-16 14:11:43
创建一个中央存储库
首先,创建一个存放分支的存储库。对于本例,我将只使用文件系统,但在实践中,这很可能是托管在远程服务器上的:
$ git init --bare project.git添加prod文件夹
切换到您的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文件夹
对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现在你们都准备好了。
发布于 2014-04-16 14:16:06
您必须考虑另一种方法,即您所描述的文件夹更好地映射到单独的存储库,而不是单个存储库中的分支,特别是如果dev文件夹与其他存储库有很大的不同(正如您所述)。
您可以为每个分支创建一个回购,将它们作为遥控器添加到其他每一个回购中,并将其合并到开发回购(例如远程dev/master分支)的发布和推动中。随后,在未来,您可以采取进一步的,并将所有的回购作为子模块在一个uber回购。
对于您的问题,在包含所有内容的一个回购中,您似乎关心的是将文件夹中的文件导入到分支中。你可以按以下方式进行:
master$ git co -b devbdevb$ cp -r /path/to/external/dev devdevb$ git add devdevb$ git commit -m "initial dev commit"https://stackoverflow.com/questions/23111188
复制相似问题