Для получения полного доступа
зарегистрируйтесь


Актуально, в частности для работы над Magento

 git log
 ....
 git archive -o ../latest.zip some-commit $(git diff --name-only earlier-commit some-commit)

Проверяем установленую версию:

git --version
git version 1.7.12.4 (Apple Git-37)

Устанавливаем git с помощью brew:

brew install git

Добавляем в ~/.bash_profile новую строчку:

export PATH="/usr/local/bin:$PATH"

Применяем изменения:

source .bash_profile

Проверяем версию:

git --version
git version 2.11.1

Иногда случается сдедать описку в названии тега и пушнуть его. Не беда, всё поправимо:

git tag new old
git tag -d old
git push origin :refs/tags/old
git push --tags

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

Для того чтобы отменить коммит, достаточно в консоли ввести команду:

git reset --soft HEAD~

0X0pVCN.png

Так я решил проблему с "раздвоением личности" в своем проекте. Если вдруг нужно заменить автора полностью, то достаточно добавить GIT_COMMITTER_EMAIL="new email" и GIT_AUTHOR_EMAIL="new email". Перед использованием, убедитесь, что все изменения вытянуты и закомичены. git shortlog -se — выводит список авторов.

git filter-branch --force --env-filter '
  if ["$GIT_COMMITTER_NAME" = "nsept"];
  then
    GIT_COMMITTER_NAME="Nsept";
    GIT_AUTHOR_NAME="Nsept";
  fi' -- --all

git push --force
git reset --soft HEAD~3
git commit -m 'new commit message'

3 заменить на N.

Работает и на уже push-нутых ветках, если потом делать git push --force. Последняя команда заменят ветку целиком, так что с ней надо быть особо осторожным.