После добавления Входа выше, я смог видеть, что проблема была вызвана путем пропавших без вести класса TConstants, который я исключал в файле py2exe setup.py.
После удаления "Tconstants" из исключенного списка, у меня больше не было проблем.
Все коммиты, ведущие к конкретной фиксации, определяют эту новую фиксацию.
То есть, если у вас есть master → dev → bugfix, как показано на изображении ниже:
master → dev → bugfix http://img.skitch.com/20091029-tbffrg53q73mdipiwcr3g2ywuh.png
вы можете нажать только dev
, но не только bugfix
, но определение из исправление ошибки
включает dev
, поэтому dev
не имеет смысла без bugfix
Однако, если вы создадите это исправление как ветку функций, вы Было бы что-то похожее на это:
ветка функций http://img.skitch.com/20091029-t3w5qk3bhj3ftx1d9xnk32ibkb.png
Вы все равно можете сделать это задним числом (создать новую ветку из origin / мастер
, выберите изменение,а затем git reset --hard HEAD ^
в вашей ветке разработки, чтобы избавиться от исправления ошибок).
Как только это будет завершено, вы можете перенаправить свою ветку разработчика с помощью простого git rebase master
, и он будет выглядеть так:
новый мастер http://img.skitch.com/20091029-1ts3enwsmsr29imcu7tyk75ett.png
На практике, запуск исправлений ошибок из ветки сделает это в общем, намного проще.
запуск исправлений ошибок из ветки в целом упростит эту задачу. запуск исправлений ошибок из ветки в целом упростит эту задачу.Что вы можете сделать, так это переместить предыдущую фиксацию во (временную) ветвь, и вишня -выберите новую фиксацию мастеру. Например:
# first commit your current work
git branch temp_branch
git reset --hard HEAD~2
git cherry-pick temp_branch
git push
Тогда temp_branch будет содержать оба ваших новых коммита. Затем вы можете позже выбрать предыдущий, чтобы он стал мастером:
git cherry-pick temp_branch^
git branch -D temp_branch
После этого ваша основная ветка будет содержать те же два коммита, с которых вы начали, но в обратном порядке.
просто создайте еще один клон и отправьте исправление ошибки оттуда.
Наш магазин широко использует личные отделения. В основном процесс будет выглядеть так:
Учитывая, что вы в настоящее время находитесь в главной ветке
git checkout -b bug_fix_name_that_I_dont_want_to_commit
Вышеупомянутое создает ветвь и проверяет ее ... здесь вы помещаете коммиты, которые вы не готовы отправить.
Теперь вы должны иметь возможность делать коммиты в текущей ветке, не затрагивая основную ветку.
Когда вы будете готовы опубликовать / продвинуть эту одну фиксацию, просто выполните:
git push origin master
, и другие ваши коммиты не пойдут в исходный репозиторий.
Когда вы будете готовы включить «исправление ошибки» в основную ветку, проверьте главную ветку и сделайте;
git merge bug_fix_name_that_I_dont_want_to_commit
Я думаю, что это ответ на вопрос, но если нет, просто дайте мне знать !