У меня есть фиксация, я сохранил ее в ветке, потому что это должно идти только к определенному ящику.Git исключить фиксацию в ветке
Я объединил его с мастером ветки, но не с веткой dev, которую я использую локально.
Теперь, по ошибке, я объединил master-dev и ввел эту фиксацию в dev.
Я знаю, что может git вернуть sha, к ветви dev; но так как это собирается ввести коммит, который отменяет это совершение (я предполагаю, что я точно не пробовал это), когда я объединю мастер, эта фиксация тоже будет отменена?
Если да, то как мне отменить это фиксацию только от ветви dev.
И oh, git reset HEAD^1
--hard не является вариантом, потому что есть другие фиксации на хозяине после неотвеченного фиксации.
Если сброс назад и применение является единственным вариантом, то как я могу объединить эти дополнительные коммиты с мастером, кроме ненужной фиксации.
Обновление:
Это дерево фиксации. Выглядит сложным. Я указал на фиксацию, что мне не нужно в dev. (Я также удалил личную информацию, спасибо за понимание. Это намного проще скриншот gitk чем ASCii искусства.)
Заранее спасибо!
Можно ли ASCii-искусство это, как я не полностью ясно, где происходит слияние, связано с нежелательным фиксацией? –
В svn вы можете объединить диапазоны ревизий, 1-19, 49, 52-90 ... Я уверен, что вы можете сделать это и в git. – SeanJA
@SeanJA: Я не уверен, что аналогия svn - лучший способ ответить. В частности, с git, если вы начинаете с 'A-B-C' и удаляете' B', чтобы получить 'A-C'', фиксация' C'' не совпадает с фиксацией 'C', потому что она не имеет одного и того же родителя. Таким образом, вы можете построить вторую ветвь, состоящую из первоначальных коммитов с нужной нужной, а затем слить ее, но вы не должны объединить исходную ветвь. – Cascabel