Мерзавец - только увеличивает новую фиксацию к GitHub

На моем локальном мерзавце repo у меня есть много фиксаций, которые включают 'секретные' строки подключения :-)

Я не хочу эту историю на GitHub, когда я продвигаю его там.

По существу я хочу продвинуть все, что я имею, но хочу избавиться от большого количества истории.

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

Я попытался выполнить переоснову:

git rebase –i HEAD~3

Это возвратилось 3 фиксации, и затем я мог удалить фиксацию.

Однако столкнулся с автоматическим избирательным подходом, отказавшим, и это стало довольно сложным.

Любые мысли значительно не ценили... грандиозного предприятия к банке история, и запустите снова, если это становится слишком твердым :-)

29
задан Greg Bacon 17 February 2010 в 04:22
поделиться

1 ответ

Вы можете разветвить свою текущую работу, перемотать мастер, а затем выбрать последний коммит обратно на мастер:

git branch secret
git reset --hard HEAD~3
git cherry-pick secret

На рисунках,

    A--B--C--D--E (master)

после секрет ветки git :

    A--B--C--D--E (master, secret)

после git reset --hard HEAD ~ 3 :

    A--B (master)
        \
         C--D--E (secret)

после git cherry-pick secret :

    A--B--E' (master)
        \
         C--D--E (secret)

Наконец , если вы git checkout secret; git rebase master , вы можете получить:

    A--B--E' (master)
           \
            C--D (secret)
57
ответ дан 28 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

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