Состоялся долгожданный релиз, содержащий достаточно много обновлений, нововведений и багфиксов.
Одним из самых главных изменений является поведение команды git push. Теперь по умолчанию (если не указана ветка) push будет осуществлен только в текущую ветку. Git 1.* по умолчанию делал push во все ветки, которые были изменены локально. Конечно же можно вернуться к прежнему поведению, для этого служит опция push.default.
Поведение Git 1.*:
git config --global push.default matching
Новое поведение по умолчанию в Git 2.0:
git config --global push.default simple
Другие изменения:
- команды
git add --updateиgit add --allесли не указан конкретный путь в параметре будут применены ко всему дереву, даже если команда была запущена внутри подкаталога git add <path>иgit add --all <path>сейчас одно и то же- удален параметр
core.statinfo, который был недокументированным синонимомcore.checkstat git pullтеперь может быть настроет так, чтобы работал только в режиме fast-forward (опцияpull.ff)git rebaseинтерпретирует "-" как "@{-1}" (возврат к предыдущей активной ветке)- пробельные символы в конце строк файла
.gitignoreбудут проигнорированы и вы получите warning - команды, создающие коммиты (
pull,rebaseи т.д.) научились понимать параметр--gpg-sign git commitтеперь может всегда подписывать новые коммиты если вы установитеcommit.gpgsignзначениеtruegit resetвыучил опцию-N, которая идет рядом с--mixed(подробнее оgit resetв моей предыдущей статье). Если указан-Nудаленные пути будут помечены как intent-to-add
Это основные изменения на мой взгляд, вот полный whats-new список.
You can only really use Git if you understand how Git works.
Автор: limonte

