Когда я расследую ошибку, я когда-то не работал тщательно, особенно когда я копаю несколько ветвей с множеством коммитов.Как устранить нежелательные коммиты в репозитории Git?
Надеюсь, как только я покончу с этим, я объединю рабочий результат с моей главной веткой с помощью git merge yeah_i_got_it
. Вот что мое хранилище может выглядеть в таких ситуациях:
v There is a bug here
A---B---C----------------------------------------------F (master)
\ /
o---o---o--o--o (bug) /
\ /
o---o--o--o (oups_this_way_better)/
\ v Clean a bit /
o---D---E------------------o (yeah_i_got_it)
^
Solved the bug here
В конце концов, я ожидаю, чтобы сохранить только некоторые соответствующие коммиты в конце дня:
A--B--C--D--F (master)
Что касается остального, это просто мусор и мне это не нужно. Итак, каков наилучший способ справиться с этим неприятным рабочим процессом?
Поскольку Git хранит все, даже после того, как все ветви мусора были удалены, полезным вариантом для Git было бы дать флаг важности с каждой фиксацией, чтобы помочь мне очистить мой репозиторий после спешки. В моих репозиториях я могу определить бесполезные коммиты, коммиты, которые могут быть полезны в один прекрасный день, совершает то, что определенно будет полезно и, что не менее важно, очень важные коммиты, которые мне нужны, чтобы поддерживать связь с их филиалами.
Избавление от бесполезных коммитов обычно занимает много времени. Мне нужно будет просмотреть мой журнал, идентифицировать те, которые я хочу устранить, и выполнить эту работу без ошибок.
Так что мой вопрос:
Как правильно устранить временные фиксаций и ветви из моих Git репозиториев окончательно?
Вот некоторые случайные мысли:
- Мой рабочий является просто плохо, я никогда не должен работать, как это.
- Просто добавьте префикс к каждому временному комментированию, например, «мусор» или «мусор».
- решение родной Git А может существовать, что может помочь мне сделать эту работу как
git rebase-and-clean yeah_i_got_it --keep D
вы можете раздавить все ваш «мусор» совершает в один коммят. Потенциально лучше, вы можете выбрать вишневый коммиты, которые вы хотите. –
»... Я когда-то не работая тщательно ... »Исправьте это, и большинство связанных проблем исчезнут ... – twalberg