Я просто создал большую часть кода, который я хочу фиксировать в нескольких отдельных фиксациях.
Таким образом, я могу подготовить соответствующие части, фиксацию, этап, фиксацию... и так далее, пока у меня нет всех своих фиксировавших изменений.
Недостающая часть - то, как я могу протестировать, разделил ли я фиксацию correcty.
Т.е. ли часть, которая находится в районе сосредоточения войск, по крайней мере, компилирует?
Чтобы сделать это, я должен так или иначе принести свое дерево работы, чтобы быть в синхронизации с индексом (район сосредоточения войск), не теряя изменения, которые будут фиксироваться позже.
Что правильный путь состоит в том, чтобы сделать это?
Что самый быстрый путь состоит в том, чтобы сделать это?
Обновление:
Как сделать это с magit?
Вы можете сделать это с помощью:
$ git branch task1 # first set of commit to do
Промежуточная ветвь может быть полезна для записи некоторых промежуточных коммитов, когда вы медленно добавляете некоторый контент в индекс.
Затем попробуйте интерактивный сеанс для добавления именно того, что вы хотите:
$ git add -i
Добавьте в любое время, когда вы хотите проверить, что вы добавили:
$ git stash --keep-index
Если он компилируется, git commit
ваша текущая работа, и если task1
еще не завершена, git stash pop
, чтобы восстановить полное рабочее дерево, и повторить.
После того, как task1
полностью запекается, вы можете обрезать все эти коммиты ' task1
' и объединить всю работу в мастере:
$ git checkout master
$ git merge task1
$ git branch -D task1 # no need for that intermediate branch
Если вы хотите сохранить историю некоторых важных коммитов task1
, вы можете сначала перебазировать task1
поверх главного, перед объединением master
в task1
(перемотка вперед)
Наконец, если в вашем тайнике все еще есть незавершенная работа, повторите весь процесс для task2
.