Разбить предыдущий коммит на несколько коммитов

Следующие действия выполняются в Windows 7, ActiveState Perl. Он пишет «hello there» в файл с ивритскими символами в его имени:

#-----------------------------------------------------------------------
# Unicode file names on Windows using Perl
# Philip R Brenan at gmail dot com, Appa Apps Ltd, 2013
#-----------------------------------------------------------------------

use feature ":5.16";
use Data::Dump qw(dump);
use Encode qw/encode decode/;
use Win32API::File qw(:ALL);

# Create a file with a unicode name

my $e  = "\x{05E7}\x{05EA}\x{05E7}\x{05D5}\x{05D5}\x{05D4}".
         "\x{002E}\x{0064}\x{0061}\x{0074}\x{0061}"; # File name in UTF-8
my $f  = encode("UTF-16LE", $e);  # Format supported by NTFS
my $g  = eval dump($f);           # Remove UTF ness
   $g .= chr(0).chr(0);           # 0 terminate string
my $F  = Win32API::File::CreateFileW
 ($g, GENERIC_WRITE, 0, [], OPEN_ALWAYS, 0, 0); #  Create file via Win32API
say $^E if $^E;                   # Write any error message

# Write to the file

OsFHandleOpen(FILE, $F, "w") or die "Cannot open file";
binmode FILE;                      
print FILE "hello there\n";      
close(FILE);
1043
задан Jakuje 9 September 2016 в 15:35
поделиться

3 ответа

Вот то, как разделить одну фиксацию в [1 114] ИДЕЯ IntelliJ , , PyCharm, PhpStorm и т.д.

  1. В окне журнала Управления версиями, выбирает фиксацию, которую требуется разделить, щелкнуть правой кнопкой и выбрать Interactively Rebase from Here

  2. , отмечают тот, который Вы хотите разделить как [1 118] edit , нажать Start Rebasing

  3. You, должен видеть, что желтый тег помещается, означая, что ГОЛОВА установлена на ту фиксацию. Щелкните правой кнопкой по той фиксации, выберите Undo Commit

  4. Теперь, те фиксации вернулись в район сосредоточения войск, можно затем фиксировать их отдельно. После того, как все изменение фиксировалось, старая фиксация становится неактивной.

0
ответ дан 19 December 2019 в 20:16
поделиться

Из Руководство GIT-REBASE (разделение разделения Chayits)

В интерактивном режиме вы можете пометить коммиты с действием «Редактировать». Тем не менее, это не обязательно означает, что Git Rebase ожидает, что результат этого редактирования является ровно один коммит. Действительно, вы можете отменить коммит, или вы можете добавить другие коммиты. Это можно использовать для разделения коммитана на два:

  • Начать интерактивную ребазу с Git Rebase -i ^ , где - это коммит, который вы хотите расколоть. Фактически, любой диапазон фиксации будет делать, до тех пор, пока он содержит, что коммит.

  • Отметьте коммит, вы хотите разделить с действием «Редактировать».

  • Когда дело доходит до редактирования, которые совершают, выполните голова сброса Git ^ . Эффект состоит в том, что голова перемотана одним, и индекс следует за костюмом. Тем не менее, рабочее дерево остается прежним.

  • Теперь добавьте изменения в индекс, который вы хотите иметь в первом коммите. Вы можете использовать Git Add (, возможно, в интерактивно) или GIT GUI (или оба), чтобы сделать это.

  • Обязайте текущий индекс с тем, что теперь может уместно сообщение.

  • Повторите последние два шага, пока ваше рабочее дерево не будет чистым.

  • Продолжайте ребазу с GIT REBASE --Континуем .

298
ответ дан 19 December 2019 в 20:16
поделиться

Простое все, что нужно сделать без интерактивной ребазы, - это (вероятно), чтобы сделать новую ветвь, начиная с фиксатора до того, как вы хотите разделить, Cherry-Pick-Pick-rick-rick -n-rick-rick-rick-rooms Stask и совершит изменения, а затем слияние с прежней отделением или вишневым выбором, которые последовали. (Затем переключите прежнее имя ветви в текущую голову.) (Вероятно, лучше следовать советам MBOS и сделать интерактивную ребазу.)

2
ответ дан 19 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: