Kev*_*ave 10 git directory branch
我需要在3个单独的文件夹中保留3个分支.(我知道这不是做事的一种方式.但我需要这样做是有原因的).
让我们说回购名称是my_proj_repo.git
我创建了一个prodv1
在我的本地系统中调用的文件夹:
git clone url:/my_proj_repo.git
Run Code Online (Sandbox Code Playgroud)
现在我进入prodv1
文件夹并从服务器复制文件,然后:
git commit -am "initial import"
git push origin master
Run Code Online (Sandbox Code Playgroud)
这推动了文件掌握.现在我在我的本地系统中创建了另外两个文件夹
stagingv1
devv1
Run Code Online (Sandbox Code Playgroud)
我想用名称创建两个本地和远程分支:
staging // this local branch points (push/pull) to staging remote branch
dev // this local branch points ((push/pull) to dev remote branch
Run Code Online (Sandbox Code Playgroud)
而这两个分支应该在相应的文件夹中:
staging ==> stagingv1 folder
dev ==> devv1 folder
Run Code Online (Sandbox Code Playgroud)
我尝试了一些东西,我想我搞砸了.有人能指出我的命令/步骤来获得我想要的所有这些设置吗?
我做的是,进入stagingv1
文件夹并做了一个git clone <repo>
.但它默认为master
.我不知道如何在staging
这里初始化分支.
Jud*_*het 11
我认为您可能必须在您的仓库中创建所有分支
$ git branch <name_of_your_new_branch>
Run Code Online (Sandbox Code Playgroud)
然后创建所有文件夹,并在每个文件夹中克隆存储库,但签出相应的分支.
每个文件夹应该/可能只跟踪适当的分支
Step 1 $ git branch [name_branch#1]
Step 2 $ git branch [name_branch#2]
Step 3 $ git branch [name_branch#3]
Run Code Online (Sandbox Code Playgroud)
...
Step 4 $ git push --all
Step 5 md Folder #2
Step 6 $ git clone [URL]
Step 7 $ git checkout [name_branch]
Run Code Online (Sandbox Code Playgroud)
要实现成为自推出git的2.5简单(甚至是微不足道的)什么混帐worktree命令.
基本上,你的git repo现在有完全免费的签出分支数量,称为工作树:
如果您的回购已经包含您的分支,你可以这样做:
git worktree add <path to branch> <branch name>
或者,如果该分支尚未创建,你想岔开主:
git worktree add -b <new branch name> <path to branch> master
你去吧 请注意,您无法同时签出多个存储库中的分支.