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