Мерзавец: Этап в Фиксацию, каков правильный рабочий процесс?

Я просто создал большую часть кода, который я хочу фиксировать в нескольких отдельных фиксациях.
Таким образом, я могу подготовить соответствующие части, фиксацию, этап, фиксацию... и так далее, пока у меня нет всех своих фиксировавших изменений.

Недостающая часть - то, как я могу протестировать, разделил ли я фиксацию correcty.
Т.е. ли часть, которая находится в районе сосредоточения войск, по крайней мере, компилирует?

Чтобы сделать это, я должен так или иначе принести свое дерево работы, чтобы быть в синхронизации с индексом (район сосредоточения войск), не теряя изменения, которые будут фиксироваться позже.

Что правильный путь состоит в том, чтобы сделать это?
Что самый быстрый путь состоит в том, чтобы сделать это?

Обновление:
Как сделать это с magit?

21
задан Łukasz Lew 17 April 2010 в 16:34
поделиться

1 ответ

Вы можете сделать это с помощью:

$ 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 .

16
ответ дан 29 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

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