Git-отдельная папка для каждой ветви. Настройка
мне нужно сохранить 3 ветки в 3 отдельных папках. (Я знаю, что это не git способ делать вещи. Но мне нужно сделать это не просто так).
допустим, имя РЕПО my_proj_repo.git
Я создал папку под названием prodv1
в моей локальной системы:
git clone url:/my_proj_repo.git
теперь я вошел в prodv1
папка и скопированные файлы с сервера, а затем:
git commit -am "initial import"
git push origin master
это подтолкнуло файлы к master. Теперь я создал еще две папки, как указано выше, в моем локальном система
stagingv1
devv1
я хочу создать две локальные и удаленные ветви с именами:
staging // this local branch points (push/pull) to staging remote branch
dev // this local branch points ((push/pull) to dev remote branch
и эти две ветви должны быть в соответствующие папки:
staging ==> stagingv1 folder
dev ==> devv1 folder
я попробовал несколько вещей,и я думаю, что я испортил его. Может ли кто-нибудь указать мне команды/шаги, чтобы получить всю эту настройку, как я хотел?
что я сделал, так это вошел в и не git clone <repo>
. Но по умолчанию это master
. И я не уверен, как инициализировать staging
филиала здесь.
2 ответов
Я думаю, что вам, возможно, придется создать всю ветку в вашем РЕПО
$ git branch <name_of_your_new_branch>
затем создайте все свои папки и в каждой из ваших папок клонируйте РЕПО, Но Проверьте соответствующие ветви.
каждая папка должна / может отслеживать только соответствующую ветку
Step 1 $ git branch [name_branch#1]
Step 2 $ git branch [name_branch#2]
Step 3 $ git branch [name_branch#3]
...
Step 4 $ git push --all
Step 5 md Folder #2
Step 6 $ git clone [URL]
Step 7 $ git checkout [name_branch]
то, что вы хотите достичь, стало проще (или даже тривиально), так как git 2.5 ввел git worktree.
в основном, ваш git repo теперь имеет совершенно бесплатное количество проверенных ветвей, называемых деревом работы:
- 0 (голой РЕПО)
- 1 (США)
- n > 1, обычное РЕПО, где вы добавили N-1 рабочих деревьев
Если ваше РЕПО уже содержит вашу ветку, вы можете do:git worktree add <path to branch> <branch name>
Или, если эта ветвь еще не создана, и вы хотите отделить master:git worktree add -b <new branch name> <path to branch> master
там вы идете. Обратите внимание, что вы не можете одновременно проверять ветку в нескольких репозиториях.