
Состоялся долгожданный релиз, содержащий достаточно много обновлений, нововведений и багфиксов.
Одним из самых главных изменений является поведение команды
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 и git add --all сейчас одно и то же
удален параметрcore.statinfo, который был недокументированным синонимомcore.checkstat
git pullтеперь может быть настроен так, чтобы работал только в режиме fast-forward (опцияpull.ff)
git rebaseинтерпретирует "-" как "@{-1}" (возврат к предыдущей активной ветке)
пробельные символы в конце строк файла.gitignoreбудут проигнорированы и вы получите warning
команды, создающие коммиты (pull,rebaseи т.д.) научились понимать параметр--gpg-sign
git commitтеперь может всегда подписывать новые коммиты если вы установитеcommit.gpgsignзначениеtrue
git resetвыучил опцию-N, которая идет рядом с--mixed(подробнее оgit resetв моей предыдущей статье). Если указан-Nудаленные пути будут помечены как intent-to-add
Это основные изменения на мой взгляд, вот полный whats-new список.
You can only really use Git if you understand how Git works.