Состоялся долгожданный релиз, содержащий достаточно много обновлений, нововведений и багфиксов.
Одним из самых главных изменений является поведение команды 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
значение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.
Автор: limonte