Git在新文件夹中创建新分支

时间:2018-11-09 11:23:05

标签: git

我知道如何使用git bash创建分支

git branch develop

然后切换到该分支

git checkout develop

我希望这个特定的分支拥有它自己的文件夹,并且只要我提交到这个分支,文件夹就会被更新。

如何在Git bash中完成此操作?

2 个答案:

答案 0 :(得分:4)

您可以获得的最接近的东西称为“工作树”,您可以阅读有关here的更多信息。

对此的简短描述是,您将拥有一个带有工作文件夹的主存储库,例如,您可以签出该工作文件夹中的master分支。

然后,您还将签出另一个分支(例如,develop)到由相同存储库支持的单独工作文件夹

这将允许您同时在磁盘上的工作文件夹中拥有多个“活动”分支。

但是,没有“当我提交此分支时,文件夹已更新”,而是必须在该文件夹中工作

它基本上看起来像两个不同的克隆,除了您不必在它们之间进行推拉操作,因为只有一个存储库支持这两个文件夹。

这是一个简短的示例(使用Windows命令语法)进行设置:

C:\> cd \dev\projects
C:\dev\projects> md MyAwesomeProject
C:\dev\projects> cd MyAwesomeProject
C:\dev\projects\MyAwesomeProject> git clone https://github.com/user/awesome.git master
.... snip

C:\dev\projects\MyAwesomeProject> cd master
C:\dev\projects\MyAwesomeProject\master> git worktree add ..\develop develop
Preparing worktree (checking out 'develop')
HEAD is now at fca4b6c My most recent awesome commit

C:\dev\projects\MyAwesomeProject\master> cd ..
C:\dev\projects\MyAwesomeProject> dir

 Volume in drive C is System
 Volume Serial Number is 1234-5678

 Directory of C:\dev\projects\MyAwesomeProject

02.10.2018  13.43    <DIR>          .
02.10.2018  13.43    <DIR>          ..
09.11.2018  10.26    <DIR>          develop
08.11.2018  09.48    <DIR>          master
               0 File(s)              0 bytes
               4 Dir(s)  229 636 960 256 bytes free

如果您想在develop分支中工作,请在develop 文件夹中进行,如果您想在master上工作,请进行在那个文件夹中。

在一个文件夹中提交后,您可以切换到另一个文件夹并合并另一个分支,因为它只是支持两个工作树的1个存储库。

答案 1 :(得分:0)

Git checkout -b foldername1/foldername2/your_branch_name