Просмотр по

Выпуск Git 2.3.0

Как обычно, выпуск содержит множество улучшений, усовершенствований производительности и исправлений ошибок.

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *