Как мне вставить коммит с помощью git? - PullRequest
8 голосов
/ 06 мая 2009

Мне нужно вставить коммит в ветку master моего git-репозитория, сохраняя последующие слияния и коммиты.

У меня сейчас есть что-то вроде этого

A--B--C--D--E--F     master
       \     \  
        G--H  I--J   branches

и нужно вставить коммит K так, чтобы новая структура стала

A--B--K              master
    \
     C--D--E--F      new branch
      \     \  
       G--H  I--J    old branches

Я даже не уверен, возможно ли это. Есть идеи?

Ответы [ 3 ]

9 голосов
/ 06 мая 2009
git checkout master
git branch new_branch # copy current branch master to new_branch
git reset --hard B    # now master points to B
(hack, hack, hack)
git commit -m K       # K on B in master
2 голосов
/ 06 мая 2009

Переименуйте ветку «master» в «new branch». Затем извлеките коммит B, запустите новую ветку с именем "master" и внесите в нее изменения. Что-то вроде следующего должно сделать это (не проверено).

git branch -m master new_branch
git branch master B
git checkout master
0 голосов
/ 06 мая 2009
# git checkout -b new-master B

Теперь внесите свои изменения для K, зафиксируйте их и вуаля, есть структура, которую вы хотите. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...