Сквош мой последний X коммитов вместе с помощью Git - PullRequest
3036 голосов
/ 04 марта 2011

Как мне сжать мои последние X коммитов в один коммит с помощью Git?

Ответы [ 31 ]

0 голосов
/ 23 мая 2017

Просто добавьте эту функцию bash в ваш файл bash .zshrc.

# Squash last X commits with a Commit message.
# Usage: squash X 'COMMIT_MSG'
# where X= Number of last commits.
# where COMMIT_MSG= New commit msg.
function squash() {
    if [ -z "${1}" -o -z "${2}" ]; then
        echo "Usage: \`squash X COMMIT_MSG\`"
        echo "X= Number of last commits."
        echo "COMMIT_MSG= New commit msg."
        return 1
    fi

    git reset --soft HEAD~"$1"
    git add . && git ci -m "$2" # With 100 emoji
    git push --force
}

Тогда просто беги

squash X 'New Commit Message'

И все готово.

...