мне нужно переставить «линейную структуру»Как переделать в нескольких независимых ветвях в git?
temp -C1-C2-C3-C4-C5-C6-C7-C8-C9-C10
/
master -C0
к «вилочного как структура».
branch-1 -C1-C2-C3-C4-C5
/
master -C0
\
branch-2 -C6-C7-C8-C9-C10
Пример: Давайте начнем с одной ветви (давайте назовем его темп), полученный из мастера, а затем давайте несколько фиксаций - C1 .. С10. Вместо этого я хотел бы иметь две ветки, основанные на главном (по одной функции). Я могу создать эти две ветви, передав фиксацию до C1. Чем, как перестановки (слияние?) Все совершает таким образом, чтобы получить совершающие от С1 к C5 в ветвь-1 (полученная из мастера) и ветвей от C6 к С10 в branch-2 также получено из master? В результате в журнале филиал-2 Я ожидаю, чтобы иметь C0, C6..C10 (где C0 является последней фиксации в мастер филиала).
Вероятно филиал-1 может быть получена путем переименования темпа и делать
git reset --hard HEAD~5 #or 4 (?)
Но для ветвей 2 как удалить C1..C5 и держать остальное?
EDIT: Вот тестовый скрипт, который может быть использован для воспроизведения случая:
#!/bin/bash
## file names
file1='file1'
file2='file2'
## clean-up for fresh start
if [ -d .git ]
then
rm -rf .git
fi
## create files
echo start1 > $file1
echo start2 > $file2
## start the repository creation
git init
git add $file1 $file2
git commit -am 'C0'
## linear branch
git checkout -b temp
## implement features 1 & 2 in files 1 & 2
for i in {1..10}
do
if [ $i -le 5 ]
then
file=$file1
else
file=$file2
fi
msg='line '$i
echo $msg >> $file
git commit -m "C$i" $file
done