[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: а кто хорошо знает Git?



DEO>> можно пример?

DEO>> вот у меня b1 содержит файлы a b c d b2 содержит файлы a b c d e f

DEO>> находясь в b2 я меняю файл a, хочу чтобы коммит ушел не только в
DEO>> бранч b2, но и в бранч b1, но переключать дерево на b1 мне нельзя
DEO>> (это конфиги работающей системы).

DS> т.е. коммит выполняется на работающей системе?  тогда cherry-pick надо
DS> делать в другом клоне или рабочей копии.  например,

DS> admin@server $ git commit -m "bla-blah-blah"
DS> admin@server $ git push remote-repo

DS> user@ws $ git pull remote-repo
DS> user@ws $ git checkout b1
DS> user@ws $ git cherry-pick <commit>
DS> user@ws $ git push remote-repo

DS> admin@server $ git pull remote-repo

DS> В данном случае server - рабочая система, ws - какая-то другая машина,
DS> remote-repo - общий remote, откуда pull-ятся и куда push-атся изменения.
DS> Т.е. один и тот же репозиторий, одинаково называющийся в обоих рабочих
DS> репозиториях.

DS> С временной рабочей копией процесс может выглядеть таким образом:

DS> admin@server $ git commit -m "blah-blah-blah"
DS> admin@server $ mkdir /tmp/tmp-repo && pushd /tmp/tmp-repo
DS> admin@server $ export GIT_DIR=/path/to/repo/.git
DS> admin@server $ git checkout b1
DS> admin@server $ git reset --hard
DS> admin@server $ git cherry-pick <commit>
DS> admin@server $ git checkout b2
DS> admin@server $ unset GIT_DIR
DS> admin@server $ popd && rm -rf /tmp/tmp-repo

ну да, у меня в таком примерно ключе написана работа, только вместо
cherry-pick используется checkout -m в том же временном дереве. я
собственно искал вариант как избавиться от временного дерева

жаль что не нашлось красивого способоа :(

-- 

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537


Reply to: