Как разделить существующий фабрикатор diff на два?

У меня есть одно большое изменение кода для проверки, но его действительно следует разделить на два отдельных изменения.

Существует много коммитов, связанных с каждым diff, и я мог выяснить, какой из них (в основном) разбивает строку коммитов на две разные задачи, хотя более четкое разделение будет основано на именах файлов (т. е. N файлов связаны с задачами). 1 и M других файлов связаны с задачей-2).

Есть ли простой способ сделать это (с помощью фиксации или файлов)? Спасибо!


person Hillary Sanders    schedule 16.02.2016    source источник


Ответы (2)


Есть ли простой способ сделать это (с помощью фиксации или файлов)? Спасибо!

Вы должны использовать патчи для этой цели.

[git format-patch][1]

Как это сделать?

# first checkout the desired commit that you want to use
# or stay on the desired branch itself
git checkout commit_id

# now create patch for the desired diff tree you want
# This command will create a **single** patch file with all the diffs 
# in the given range. (X commits back)
git format-patch HEAD~X --stdout > patch_file.patch

# or if you need the full branch history use the branch name
git format-patch <branch name> --stdout > patch_file.patch
person CodeWizard    schedule 16.02.2016

Одно простое решение (хотя я предполагаю, что codeWizard является лучшей практикой):

get checkout mybranch
git rm --cached <filefornewbranch1>
git rm --cached <filefornewbranch2>
...
arc diff
git checkout -t -b newbranch
git add <filefornewbranch1>
git add <filefornewbranch2>
...
arc diff
person Hillary Sanders    schedule 16.02.2016