>>>>> Dmitry E Oboukhov writes: DS>> [...] DEO>>> все вроде хорошо, но в дереве конфигов переключать бранчи DEO>>> нельзя. можно ли упростить процедуру попадания файла из бранча DEO>>> b2 в b1? то есть без промежуточного дерева и без обязательного DEO>>> переключения бранчей в рабочем дереве?
DS>> git pull && git cherry-pick <commit> ? DEO> насколько я понял cherry-pick выколупывает из другого бранча DEO> коммит и кладет его в текущий бранч. совершенно верно DEO> у меня задача обратная: имеется текущий бранч, из него надо взять DEO> файл и всунуть в другой бранч, но так, чтобы дерево на другой не DEO> переключать. DEO> я чего-то недопонял? это я неправильно понял задачу. DEO> можно пример? DEO> вот у меня b1 содержит файлы a b c d b2 содержит файлы a b c d e f DEO> находясь в b2 я меняю файл a, хочу чтобы коммит ушел не только в DEO> бранч b2, но и в бранч b1, но переключать дерево на b1 мне нельзя DEO> (это конфиги работающей системы). т.е. коммит выполняется на работающей системе? тогда cherry-pick надо делать в другом клоне или рабочей копии. например, ad...@server $ git commit -m "bla-blah-blah" ad...@server $ git push remote-repo u...@ws $ git pull remote-repo u...@ws $ git checkout b1 u...@ws $ git cherry-pick <commit> u...@ws $ git push remote-repo ad...@server $ git pull remote-repo В данном случае server - рабочая система, ws - какая-то другая машина, remote-repo - общий remote, откуда pull-ятся и куда push-атся изменения. Т.е. один и тот же репозиторий, одинаково называющийся в обоих рабочих репозиториях. С временной рабочей копией процесс может выглядеть таким образом: ad...@server $ git commit -m "blah-blah-blah" ad...@server $ mkdir /tmp/tmp-repo && pushd /tmp/tmp-repo ad...@server $ export GIT_DIR=/path/to/repo/.git ad...@server $ git checkout b1 ad...@server $ git reset --hard ad...@server $ git cherry-pick <commit> ad...@server $ git checkout b2 ad...@server $ unset GIT_DIR ad...@server $ popd && rm -rf /tmp/tmp-repo Таким образом файлы в исходном каталоге меняться не будут, за исключением содержимого .git. Можно оформить скриптом и назвать его git-cherry-punch-in :-) -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

