Как обычно, выпуск содержит множество улучшений, усовершенствований производительности и исправлений ошибок.
Push to deploy
Один из способов развёртывания веб-приложений из Git — хранение рабочей копии на сервере. Когда появляется новая версия, на сервере исполняется git pull. С Git 2.3 это стало ещё более удобным.
Теперь изменения в хранилище на сервере можно отправить и при условии, что локальные изменения там отсутствуют, любые изменения в текущей ветке будут получены автоматически. Чтобы использовать эту функцию достаточно выполнить следующую команду в хранилище Git на сервере:
$ git config receive.denyCurrentBranch updateInstead
Более быстрое клонирование путём заимствования объектов из существующих клонов
Клонирование удалённого репозитория может привести к передаче больших объёмов данных. Но если имеется склонированный из этого же хранилища локальный репозиторий, вероятно в нём уже находится большая часть истории. Можно снова использовать объекты этого репозитория, вместо того, чтобы скачивать их из удалённого:
$ git clone --reference ../oldclone --dissociate https://github.com/gitster/git.git
Локальные репозитории останутся независимыми друг от друга и любой из них может быть удалён без влияния на другие.
Консервативное поведение по умолчанию для git push
Если выполнить git push без аргументов, git будет вести себя более по-старому. Текущая ветка не будет отправляться, пока для неё не будет создана ветка с таким же названием в удалённом репозитории.
Пример:
$ git config branch.autosetupmerge true
$ git checkout -b experimental origin/master
Branch experimental set up to track remote branch master from origin.
Switched to a new branch 'experimental'
$ git commit -a -m 'Experimental changes'
[experimental 43ca356] Experimental changes
$ git push
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push origin HEAD:master
To push to the branch of the same name on the remote, use
git push origin experimental
Новое поведение призвано помочь пользователям избежать случайной отправки изменений в неверную ветку.
Это можно изменить с помощью опции push.default. Чтобы вернуться к поведению версии 1.x нужно выполнить:
git config --global push.default matching
Напоминаем: В декабре прошлого года в Git была исправлена критическая уязвимость. Рекомендуется обновить свой Git клиент как можно быстрее. Новый выпуск 2.3.0 включает в себя это исправление. Оно также доступно в следующих версиях: 1.8.5.6, 1.9.5, 2.0.5, 2.1.4.
>>> Подробности